* bidi.c (bidi_dump_cached_states): Mark as externally visible,
[bpt/emacs.git] / src / ChangeLog
CommitLineData
16a97296
PE
12011-04-11 Paul Eggert <eggert@cs.ucla.edu>
2
e78aecca
PE
3 * bidi.c (bidi_dump_cached_states): Mark as externally visible,
4 so that it's not optimized away.
5 (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
6 * dispextern.h (bidi_dump_cached_states): Remove, since it's
7 exported only to the debugger.
8
e192d7d3
PE
9 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
10 * atimer.h (run_all_atimers): Removed; not exported.
11
92470028
PE
12 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
13 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
14 was inaccessible from Lisp.
15 (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
16 * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
17
244ed907
PE
18 alloc.c: Import and export fewer symbols, and remove unused items.
19 * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
20 is defined.
21 (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
22 it's not optimized away by whole-program optimization.
23 (message_enable_multibyte, free_misc): Remove.
24 (catchlist, handlerlist, mark_backtrace):
25 Declare only if BYTE_MARK_STACK.
26 (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
27 * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
28 (message_enable_multibyte): Remove decl.
29 (free_misc, interval_free_list, float_block, float_block_index):
30 (n_float_blocks, float_free_list, cons_block, cons_block_index):
31 (cons_free_list, last_marked_index):
32 Now static.
33 (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
34 * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
35 (mark_backtrace): Define only if BYTE_MARK_STACK.
36 * xdisp.c (message_enable_multibyte): Now static.
37
955cbe7b
PE
38 Declare Lisp_Object Q* variables to be 'static' if not exproted.
39 This makes it easier for human readers (and static analyzers)
40 to see whether these variables are used from other modules.
41 * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
42 * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
43 * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
44 * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
45 * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
46 * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
47 * xmenu.c, xselect.c:
48 Declare Q* vars static if they are not used in other modules.
49 * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
50 * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
51 Remove decls of unexported vars.
52 * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
53
95c82688
PE
54 * lisp.h (DEFINE_FUNC): Make sname 'static'.
55
16a97296
PE
56 Make Emacs functions such as Fatom 'static' by default.
57 This makes it easier for human readers (and static analyzers)
58 to see whether these functions can be called from other modules.
59 DEFUN now defines a static function. To make the function external
60 so that it can be used in other C modules, use the new macro DEFUE.
61 * lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN.
62 (DEFUN): Rewrite in terms of DEFINE_FUNC. It now generates a
63 static function definition. Use DEFUE if you want an extern one.
64 (DEFUE, INFUN): New macros.
65 (Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library):
66 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
67 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
68 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
69 Remove decls, since these functions are now static.
70 (Funintern, Fget_internal_run_time): New decls, since these functions
71 were already external.
95c82688 72
16a97296
PE
73 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
74 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
75 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
76 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
77 * keyboard.c, keymap.c, lread.c:
78 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
79 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
80 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
81 Mark functions with DEFUE instead of DEFUN,
82 if they are used in other modules.
83 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
84 decls for now-static functions.
85 * buffer.h (Fdelete_overlay): Remove decl.
86 * callproc.c (Fgetenv_internal): Mark as internal.
87 * composite.c (Fremove_list_of_text_properties): Remove decl.
88 (Fcomposition_get_gstring): New forward static decl.
89 * composite.h (Fcomposite_get_gstring): Remove decl.
90 * dired.c (Ffile_attributes): New forward static decl.
91 * doc.c (Fdocumntation_property): New forward static decl.
92 * eval.c (Ffetch_bytecode): New forward static decl.
93 (Funintern): Remove extern decl; now in .h file where it belongs.
94 * fileio.c (Fmake_symbolic_link): New forward static decl.
95 * image.c (Finit_image_library): New forward static decl.
96 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
97 * intervals.h (Fprevious_property_change):
98 (Fremove_list_of_text_properties): Remove decls.
99 * keyboard.c (Fthis_command_keys): Remove decl.
100 (Fcommand_execute): New forward static decl.
101 * keymap.c (Flookup_key): New forward static decl.
102 (Fcopy_keymap): Now static.
103 * keymap.h (Flookup_key): Remove decl.
104 * process.c (Fget_process): New forward static decl.
105 (Fprocess_datagram_address): Mark as internal.
106 * syntax.c (Fsyntax_table_p): New forward static decl.
107 (skip_chars): Remove duplicate decl.
108 * textprop.c (Fprevious_property_change): New forward static decl.
109 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
110 Now internal.
111 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
112 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
113
785bbd42
PE
1142011-04-10 Paul Eggert <eggert@cs.ucla.edu>
115
116 * editfns.c (Fformat): Remove unreachable code.
117
4073e537 1182011-04-10 Paul Eggert <eggert@cs.ucla.edu>
eb3f1cc8 119
b2ded58d
PE
120 Fix more problems found by GCC 4.6.0's static checks.
121
7d66342c
PE
122 * xdisp.c (vmessage): Use a better test for character truncation.
123
bbf47d44
PE
124 * charset.c (load_charset_map): <, not <=, for optimization,
125 and to avoid potential problems with integer overflow.
9248994d 126 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
f9a68bc5 127 * casetab.c (set_identity, shuffle): Likewise.
3ab1c7ce 128 * editfns.c (Fformat): Likewise.
1e69125e 129 * syntax.c (skip_chars): Likewise.
3befa583 130
e3019616
PE
131 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
132 This also lets GCC 4.6.0 generate slightly better loop code.
133
becfa255
PE
134 * callint.c (Fcall_interactively): <, not <=, for optimization.
135 (Fcall_interactively): Count the number of arguments produced,
136 not the number of arguments given. This is simpler and lets GCC
137 4.6.0 generate slightly better code.
138
dae0cd48
PE
139 * ftfont.c: Distingish more carefully between FcChar8 and char.
140 The previous code passed unsigned char * to a functions like
141 strlen and xstrcasecmp that expect char *, which does not
142 conform to the C standard.
143 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
144 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
145 char * when the C standard requires it.
146
76032d70
PE
147 * keyboard.c (read_char): Remove unused var.
148
eb3f1cc8
PE
149 * eval.c: Port to Windows vsnprintf (Bug#8435).
150 Include <limits.h>.
151 (SIZE_MAX): Define if the headers do not.
152 (verror): Do not give up if vsnprintf returns a negative count.
153 Instead, grow the buffer. This ports to Windows vsnprintf, which
154 does not conform to C99. Problem reported by Eli Zaretskii.
155 Also, simplify the allocation scheme, by avoiding the need for
156 calling realloc, and removing the ALLOCATED variable.
157
70476b54
PE
158 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
159
12020a9e
PE
160 Remove invocations of doprnt, as Emacs now uses vsnprintf.
161 But keep the doprint source code for now, as we might revamp it
162 and use it again (Bug#8435).
ea6c7ae6
PE
163 * lisp.h (doprnt): Remove.
164 * Makefile.in (base_obj): Remove doprnt.o.
165 * deps.mk (doprnt.o): Remove.
166
5fdb398c
PE
167 error: Print 32- and 64-bit integers portably (Bug#8435).
168 Without this change, on typical 64-bit hosts error ("...%d...", N)
169 was used to print both 32- and 64-bit integers N, which relied on
170 undefined behavior.
171 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
172 New macro.
173 * lisp.h (error, verror): Mark as printf-like functions.
174 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
175 Report overflow in size calculations when allocating printf buffer.
176 Do not truncate output string at its first null byte.
177 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
178 Truncate the output at a character boundary, since vsnprintf does not
179 do that.
180 * charset.c (check_iso_charset_parameter): Convert internal
181 character to string before calling 'error', since %c now has the
182 printf meaning.
183 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
184 overflow when computing char to be passed to 'error'. Do not
185 pass Lisp_Object to 'error'; pass the integer instead.
186 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
187 formatted with plain %d.
188
b189fa66
PE
189 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
190
bff87ef0
PE
191 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
192
7e2cac20
PE
193 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
194
ce4d90b5
PE
195 * xterm.c (x_catch_errors): Remove duplicate declaration.
196
266c9547
PE
197 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
198
79c49ad2
PE
199 * xdisp.c, lisp.h (message_nolog): Remove; unused.
200
368f4090
JM
2012011-04-10 Jim Meyering <meyering@redhat.com>
202
203 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
204 * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
205 return ssize_t not "int", and use size_t as the buffer length.
206 (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
207 * gnutls.h: Update declarations.
208 * process.c (read_process_output): Use ssize_t, to match.
209 (send_process): Likewise.
210
a32d4040
CY
2112011-04-09 Chong Yidong <cyd@stupidchicken.com>
212
213 * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
214
8546720e 2152011-04-09 Chong Yidong <cyd@stupidchicken.com>
aac0c6e3 216
8546720e
GM
217 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
218 unsigned char, to match FcChar8 type definition.
aac0c6e3 219
8546720e
GM
220 * xterm.c (handle_one_xevent):
221 * xmenu.c (create_and_show_popup_menu):
222 * xselect.c (x_decline_selection_request)
223 (x_reply_selection_request): Avoid type-punned deref of X events.
aac0c6e3 224
a53e2e89
EZ
2252011-04-09 Eli Zaretskii <eliz@emacstest.gnu.org>
226
227 Fix some uses of `int' instead of EMACS_INT.
228 * search.c (string_match_1, fast_string_match)
229 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
230 (scan_buffer, find_next_newline_no_quit)
231 (find_before_next_newline, search_command, Freplace_match)
232 (Fmatch_data): Make some `int' variables be EMACS_INT.
233
234 * xdisp.c (display_count_lines): 3rd argument and return value now
235 EMACS_INT. All callers changed.
236 (pint2hrstr): Last argument is now EMACS_INT.
237
238 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
239 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
240 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
241 (decode_coding_utf_16, decode_coding_emacs_mule)
242 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
243 (decode_coding_ccl, decode_coding_charset)
244 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
245 (decode_coding_iso_2022, decode_coding_emacs_mule)
246 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
247 <char_offset, last_offset>: Declare EMACS_INT.
248 (encode_coding_utf_8, encode_coding_utf_16)
249 (encode_coding_emacs_mule, encode_invocation_designation)
250 (encode_designation_at_bol, encode_coding_iso_2022)
251 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
252 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
253 Declare EMACS_INT.
254 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
255 (encode_invocation_designation): Last argument P_NCHARS is now
256 EMACS_INT.
257 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
258 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
259
260 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
261 All users changed.
262
263 * ccl.c (Fccl_execute_on_string): Declare some variables
264 EMACS_INT.
265
8546720e 2662011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
0080dc6b
SS
267
268 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
269
4e19a977
CS
2702011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
271
272 * process.c (Fformat_network_address): Doc fix.
273
87302331
R
2742011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
275
276 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
277
cbb59342
CY
2782011-04-08 Chong Yidong <cyd@stupidchicken.com>
279
280 * keyboard.c (read_char): Call Lisp function help-form-show,
281 instead of using internal_with_output_to_temp_buffer.
282 (Qhelp_form_show): New var.
e0d38eeb 283 (syms_of_keyboard): Use DEFSYM macro.
cbb59342
CY
284
285 * print.c (internal_with_output_to_temp_buffer): Function deleted.
286
287 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
288
e67a13ab
CY
2892011-04-06 Chong Yidong <cyd@stupidchicken.com>
290
291 * process.c (Flist_processes): Removed to Lisp.
292 (list_processes_1): Deleted.
293
973f782d
EZ
2942011-04-06 Eli Zaretskii <eliz@gnu.org>
295
7c106b1e
EZ
296 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
297
973f782d
EZ
298 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
299
41cf7d1a 3002011-04-06 Paul Eggert <eggert@cs.ucla.edu>
27ccc379 301
ca23cc88
PE
302 Fix more problems found by GCC 4.6.0's static checks.
303
f390e2d5
PE
304 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
305
42eea0d0
PE
306 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
307
b69769da 308 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
1e973bc7 309
f9541e84
PE
310 * xdisp.c (vmessage): Mark as a printf-like function.
311
13841b55
PE
312 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
313
c136c10f
PE
314 * sound.c (sound_warning): Don't crash if arg contains a printf format.
315
5e2d4a30
PE
316 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
317 printf-like functions.
318 (tiff_load): Add casts to remove these marks before passing them
319 to system-supplied API.
320
583f48b9
PE
321 * eval.c (Fsignal): Remove excess argument to 'fatal'.
322
b25d760e
PE
323 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
324 This avoids several warnings with gcc -Wstrict-overflow.
d5efd1d1
PE
325 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
326 directly, rather than having caller test rule sign. This avoids
327 some unnecessary tests.
328 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
329 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
330 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
b25d760e 331
bc7b6697 332 * xfont.c (xfont_text_extents): Remove var that was set but not used.
625a3eb1 333 (xfont_open): Avoid unnecessary tests.
bc7b6697 334
27ccc379
PE
335 * composite.c (composition_gstring_put_cache): Use unsigned integer.
336
dcd5c89a
PE
337 * composite.h, composite.c (composition_gstring_put_cache):
338 Use EMACS_INT, not int, for length.
339
b13a45c6
PE
340 * composite.h (COMPOSITION_DECODE_REFS): New macro,
341 breaking out part of COMPOSITION_DECODE_RULE.
342 (COMPOSITION_DECODE_RULE): Use it.
343 * composite.c (get_composition_id): Remove unused local vars,
344 by using the new macro.
345
1e792e4d
PE
346 * textprop.c (set_text_properties_1): Change while to do-while,
347 since the condition is always true at first.
348
dc6c6455 349 * intervals.c (graft_intervals_into_buffer): Mark var as used.
aa86731f
PE
350 (interval_deletion_adjustment): Return unsigned value.
351 All uses changed.
dc6c6455 352
aba7731a
PE
353 * process.c (list_processes_1, create_pty, read_process_output):
354 (exec_sentinel): Remove vars that were set but not used.
afd4052b 355 (create_pty): Remove unnecessary "volatile"s.
bc57d757 356 (Fnetwork_interface_info): Avoid possibility of int overflow.
82eaa333 357 (read_process_output): Do adaptive read buffering even if carryover.
fe07cdfa 358 (read_process_output): Simplify nbytes computation if buffered.
aba7731a 359
fdfc4bf3
PE
360 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
361
fca8fe46 362 * syntax.c (scan_words): Remove var that was set but not used.
12cbf13f 363 (update_syntax_table): Use unsigned instead of int.
fca8fe46 364
06a0259a 365 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
3c346cc3 366 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
e6eb4e9e 367 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
06a0259a 368
e7b9e80f
PE
369 * print.c (print_error_message): Avoid int overflow.
370
56201685
PE
371 * font.c (font_list_entities): Redo for clarity,
372 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
373
78834453 374 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
790771b1 375 (font_score): Avoid potential overflow in diff calculation.
78834453 376
0bc0b309 377 * fns.c (substring_both): Remove var that is set but not used.
8cd55cb4 378 (sxhash): Redo loop for clarity and to avoid wraparound warning.
0bc0b309 379
e610eaca
PE
380 * eval.c (funcall_lambda): Rename local to avoid shadowing.
381
b895abce
PE
382 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
383 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
384 can always succeed if overflow has undefined behavior.
385
1f1d9321 386 * search.c (boyer_moore, wordify): Remove vars set but not used.
6f076cc7 387 (wordify): Omit three unnecessary tests.
1f1d9321 388
c59478bc
PE
389 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
390 All callers changed. This avoids the need for an unused var.
391
79b73827
PE
392 * casefiddle.c (casify_region): Remove var that is set but not used.
393
a4db5dfe
PE
394 * dired.c (file_name_completion): Remove var that is set but not used.
395
43aae36e
PE
396 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
397
2a47c44d 398 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
163c5f32 399 (Finsert_file_contents): Remove unnecessary code checking fd.
2a47c44d 400
a37c69bf
PE
401 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
402 Check for integer overflow on size calculations.
403
328ab8e7
PE
404 * buffer.c (Fprevious_overlay_change): Remove var that is set
405 but not used.
406
e5a2a5cb
PE
407 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
408 Remove vars that are set but not used.
8d84a6eb 409 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
6b043475 410 (timer_check_2): Mark vars as initialized.
e5a2a5cb 411
a60e5f68
PE
412 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
413
f661cb61 414 * image.c (lookup_image): Remove var that is set but not used.
35fa624f 415 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
f661cb61 416
f0397f5a
PE
417 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
418 that are set but not used.
419
8664db06 420 * xfns.c (make_invisible_cursor): Don't return garbage
03733ee7 421 if XCreateBitmapFromData fails (Bug#8410).
8664db06 422
6abdaa4a
PE
423 * xselect.c (x_get_local_selection, x_handle_property_notify):
424 Remove vars that are set but not used.
425
0ce7538d 426 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
6abdaa4a 427 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
0ce7538d 428
9ae848fc
PE
429 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
430 Remove var that is set but not used.
0b918413
PE
431 (scroll_bar_windows_size): Now size_t, not int.
432 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
433 Check for overflow.
9ae848fc 434
a5a62657
PE
435 * xfaces.c (realize_named_face): Remove vars that are set but not used.
436 (map_tty_color) [!defined MSDOS]: Likewise.
437
5c5cdd39
PE
438 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
439
66ebf983
PE
440 * coding.c: Remove vars that are set but not used.
441 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
442 All callers changed.
443 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
444 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
445 (decode_coding_charset): Remove vars that are set but not used.
446
1be4d761
PE
447 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
448 that is set but not used.
449
47553fa8
PE
450 * print.c (print_object): Remove var that is set but not used.
451
1f7196bf 452 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
d1fdcab7
PE
453 The gnulib version avoids calling malloc in the usual case,
454 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
455 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
456 * filelock.c (current_lock_owner): Likewise.
457 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
458 * sysdep.c: Include allocator.h, careadlinkat.h.
459 (emacs_no_realloc_allocator): New static constant.
460 (emacs_readlink): New function.
fdb61804
PE
461 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
462 ../lib/careadlinkat.h.
d1fdcab7 463
f84c17c7
SM
4642011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
465
466 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
467 first non-nil return value).
468
ef3862ad
JD
4692011-04-03 Jan Djärv <jan.h.d@swipnet.se>
470
471 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
472 if not defined (Bug#8403).
473
376a7006
JB
4742011-04-02 Juanma Barranquero <lekktu@gmail.com>
475
476 * xdisp.c (display_count_lines): Remove parameter `start',
477 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
478 (get_char_face_and_encoding): Remove parameter `multibyte_p',
479 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
480 (fill_stretch_glyph_string): Remove parameters `row' and `area',
481 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
482 and thereabouts. All callers changed.
483 (get_per_char_metric): Remove parameter `f', unused since
484 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
485
6ca3801d
JM
4862011-04-02 Jim Meyering <meyering@redhat.com>
487
488 do not dereference NULL upon failed strdup
489 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
490 (ns_get_family): Likewise.
491
d8e2b5ba
JB
4922011-04-02 Juanma Barranquero <lekktu@gmail.com>
493
494 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
495
8c74fcbd
JD
4962011-04-02 Jan Djärv <jan.h.d@swipnet.se>
497
498 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
499 later (Bug#8403).
500
7200d79c
SM
5012011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
502
03408648 503 Add lexical binding.
7200d79c 504
03408648
SM
505 * window.c (Ftemp_output_buffer_show): New fun.
506 (Fsave_window_excursion):
507 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
508
509 * lread.c (lisp_file_lexically_bound_p): New function.
510 (Fload): Bind Qlexical_binding.
511 (readevalloop): Remove `evalfun' arg.
512 Bind Qinternal_interpreter_environment.
513 (Feval_buffer): Bind Qlexical_binding.
514 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
515 Mark as dynamic.
516 (syms_of_lread): Declare `lexical-binding'.
517
518 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
519
520 * keyboard.c (eval_dyn): New fun.
521 (menu_item_eval_property): Use it.
ca105506
SM
522
523 * image.c (parse_image_spec): Use Ffunctionp.
ca105506 524
03408648
SM
525 * fns.c (concat, mapcar1): Accept byte-code-functions.
526
527 * eval.c (Fsetq): Handle lexical vars.
528 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
529 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
530 (FletX, Flet): Obey lexical binding.
531 (Fcommandp): Handle closures.
532 (Feval): New `lexical' arg.
533 (eval_sub): New function extracted from Feval. Use it almost
534 everywhere where Feval was used. Look up vars in lexical env.
535 Handle closures.
536 (Ffunctionp): Move from subr.el.
537 (Ffuncall): Handle closures.
538 (apply_lambda): Remove `eval_flags'.
539 (funcall_lambda): Handle closures and new byte-code-functions.
540 (Fspecial_variable_p): New function.
541 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
542 but without exporting it to Lisp.
23aba0ea 543
23aba0ea 544 * doc.c (Fdocumentation, store_function_docstring):
03408648 545 * data.c (Finteractive_form): Handle closures.
23aba0ea 546
03408648
SM
547 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
548 interactive spec.
ba83908c 549
03408648
SM
550 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
551 byte-codes.
552 (exec_byte_code): New function extracted from Fbyte_code to handle new
553 calling convention for byte-code-functions. Add new byte-codes.
ba83908c 554
03408648 555 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
e2abe5a1 556
03408648 557 * alloc.c (Fmake_symbol): Init new `declared_special' field.
e2abe5a1 558
e2abce01
JB
5592011-03-31 Juanma Barranquero <lekktu@gmail.com>
560
561 * xdisp.c (redisplay_internal): Fix prototype.
562
63696a73 5632011-03-31 Eli Zaretskii <eliz@gnu.org>
09725d26 564
63696a73
EZ
565 * xdisp.c (SCROLL_LIMIT): New macro.
566 (try_scrolling): Use it when setting scroll_limit. Limit
567 scrolling to 100 screen lines.
568 (redisplay_window): Even when falling back on "recentering",
569 position point in the window according to scroll-conservatively,
570 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
571
572 (try_scrolling): When point is above the window, allow searching
573 as far as scroll_max, or one screenful, to compute vertical
574 distance from PT to the scroll margin position. This prevents
575 try_scrolling from unnecessarily failing when
576 scroll-conservatively is set to a value slightly larger than the
577 window height. Clean up the case of PT below the margin at bottom
578 of window: scroll_max can no longer be INT_MAX. When aggressive
579 scrolling is in use, don't let point enter the opposite scroll
580 margin as result of the scroll.
581 (syms_of_xdisp) <scroll-conservatively>: Document the
09725d26
EZ
582 threshold of 100 lines for never-recentering scrolling.
583
e4cc2dfc
JB
5842011-03-31 Juanma Barranquero <lekktu@gmail.com>
585
586 * dispextern.h (move_it_by_lines):
587 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
588 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
589 (message_log_check_duplicate): Remove parameters `prev_bol' and
590 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
591 (redisplay_internal): Remove parameter `preserve_echo_area',
592 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
593
594 * indent.c (Fvertical_motion):
595 * window.c (window_scroll_pixel_based, Frecenter):
596 Don't pass `need_y_p' to `move_it_by_lines'.
597
1c470562
SM
5982011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
599
44f230aa
SM
600 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
601 steal a few bits to be more compact.
602 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
603 Remove unneeded casts.
604
1c470562
SM
605 * bytecode.c (Fbyte_code): CAR and CDR can GC.
606
888adce9
ZK
6072011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
608
609 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
610 binding" message (bug#7967).
611
f838ed7b
PE
6122011-03-30 Paul Eggert <eggert@cs.ucla.edu>
613
77861b95
PE
614 Fix more problems found by GCC 4.6.0's static checks.
615
de6dbc14
PE
616 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
617 Remove unused local var.
618
f838ed7b
PE
619 * editfns.c (Fmessage_box): Remove unused local var.
620
792c7b2b
PE
621 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
622 (note_mode_line_or_margin_highlight, note_mouse_highlight):
623 Omit unused local vars.
c499e557 624 * window.c (shrink_windows): Omit unused local var.
b01a1c29 625 * menu.c (digest_single_submenu): Omit unused local var.
0bc32927
PE
626 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
627 Omit unused local var.
628
ba0165e1
PE
629 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
630 Don't assume string length fits in int.
32ad8845 631 (keyremap_step, read_key_sequence): Use size_t for sizes.
48011560 632 (read_key_sequence): Don't check last_real_key_start redundantly.
ba0165e1 633
3c59b4c9
PE
634 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
635 instead of alloca (Bug#8344).
636
a3eed478 637 * eval.c (Fbacktrace): Don't assume nargs fits in int.
5d5d959d 638 (Fbacktrace_frame): Don't assume nframes fits in int.
a3eed478 639
eb4d412d
PE
640 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
641
1658b401
PE
642 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
643 concerns.
644
645 * term.c (produce_glyphless_glyph): Remove unnecessary test.
646
647 * cm.c (calccost): Turn while-do into do-while, for clarity.
44f730c8 648
9a2c6e05
PE
649 * keyboard.c (syms_of_keyboard): Use the same style as later
650 in this function when indexing through an array. This also
651 works around GCC bug 48267.
652
03d0a109
PE
653 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
654
44f730c8
PE
655 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
656
fe75f926
PE
657 * chartab.c (sub_char_table_ref_and_range): Redo for slight
658 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
659
ffa8c828
PE
660 * keyboard.c, keyboard.h (num_input_events): Now size_t.
661 This avoids undefined behavior on integer overflow, and is a bit
662 more convenient anyway since it is compared to a size_t variable.
663
c5101a77
PE
664 Variadic C functions now count arguments with size_t, not int.
665 This avoids an unnecessary limitation on 64-bit machines, which
666 caused (substring ...) to crash on large vectors (Bug#8344).
667 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
668 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
77861b95 669 All variadic functions and their callers changed accordingly.
c5101a77
PE
670 (struct gcpro.nvars): Now size_t, not int. All uses changed.
671 * data.c (arith_driver, float_arith_driver): Likewise.
672 * editfns.c (general_insert_function): Likewise.
673 * eval.c (struct backtrace.nargs, interactive_p)
674 (internal_condition_case_n, run_hook_with_args, apply_lambda)
675 (funcall_lambda, mark_backtrace): Likewise.
676 * fns.c (concat): Likewise.
677 * frame.c (x_set_frame_parameters): Likewise.
678 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
679 0 if not found, not -1. All callers changed.
680
dd3f25f7
PE
681 * alloc.c (garbage_collect): Don't assume stack size fits in int.
682 (stack_copy_size): Now size_t, not int.
683 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
684
461c2ab9
JB
6852011-03-28 Juanma Barranquero <lekktu@gmail.com>
686
687 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
688 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
689 All callers changed.
690
691 * lisp.h (multibyte_char_to_unibyte):
692 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
693 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
694 * character.h (CHAR_TO_BYTE8):
695 * cmds.c (internal_self_insert):
696 * editfns.c (general_insert_function):
697 * keymap.c (push_key_description):
698 * search.c (Freplace_match):
699 * xdisp.c (message_dolog, set_message_1): All callers changed.
700
f6d62986
SM
7012011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
702
703 * keyboard.c (safe_run_hook_funcall): New function.
704 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
705 don't set the hook to nil, but remove the offending function instead.
706 (Qcommand_hook_internal): Remove, unused.
707 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
708 Vcommand_hook_internal.
709
710 * eval.c (enum run_hooks_condition): Remove.
711 (funcall_nil, funcall_not): New functions.
712 (run_hook_with_args): Call each function through a `funcall' argument.
713 Remove `cond' argument, now redundant.
714 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
715 (Frun_hook_with_args_until_failure): Adjust accordingly.
716 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
717
1db5b1ad
JB
7182011-03-28 Juanma Barranquero <lekktu@gmail.com>
719
720 * dispextern.h (string_buffer_position): Remove declaration.
721
722 * print.c (strout): Remove parameter `multibyte', unused since
723 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
724
725 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
726 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
727 All callers changed.
728
729 * w32.c (_wsa_errlist): Use braces for struct initializers.
730
731 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
732 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
733 All callers changed.
734 (string_buffer_position): Likewise. Also, make static (it's never
735 used outside xdisp.c).
736 (cursor_row_p): Remove parameter `w', unused since
737 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
738 (decode_mode_spec): Remove parameter `precision', introduced during
739 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
740 All callers changed.
741
5ffb62aa
JD
7422011-03-27 Jan Djärv <jan.h.d@swipnet.se>
743
744 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
745
461c2ab9 7462011-03-27 Anders Lindgren <andlind@gmail.com>
f0a1382a
JD
747
748 * nsterm.m (ns_menu_bar_is_hidden): New variable.
749 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
750 (ns_update_auto_hide_menu_bar): New functions.
751 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
752 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
753 ns_constrain_all_frames.
754 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
755 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
756
5c380ffb
JD
7572011-03-27 Jan Djärv <jan.h.d@swipnet.se>
758
759 * nsmenu.m (runDialogAt): Remove argument to timer_check.
760
9af30bdf
GM
7612011-03-27 Glenn Morris <rgm@gnu.org>
762
763 * syssignal.h: Replace RETSIGTYPE with void.
764 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
765 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
766 Replace SIGTYPE with void everywhere.
767 * s/usg5-4-common.h (SIGTYPE): Remove definition.
768 * s/template.h (SIGTYPE): Remove commented out definition.
769
e2abce01
JB
7702011-03-26 Eli Zaretskii <eliz@gnu.org>
771
772 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
773 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
774
f868cd8a
JB
7752011-03-26 Juanma Barranquero <lekktu@gmail.com>
776
59eb0929
JB
777 * w32.c (read_unc_volume): Use parameter `henum', instead of
778 global variable `wget_enum_handle'.
779
780 * keymap.c (describe_vector): Remove parameters `indices' and
781 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
782 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
783
f868cd8a
JB
784 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
785
786 * keyboard.c (timer_check): Remove parameter `do_it_now',
787 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
788 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
789 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
790
791 * keyboard.c (read_char):
792 * w32menu.c (w32_menu_display_help):
793 * xmenu.c (show_help_event, menu_help_callback):
794 Adjust calls to `show_help_echo'.
795
796 * gtkutil.c (xg_maybe_add_timer):
797 * keyboard.c (readable_events):
798 * process.c (wait_reading_process_output):
799 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
800
801 * insdel.c (adjust_markers_gap_motion):
802 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
803 (gap_left, gap_right): Don't call it.
804
2ecf6fdb
CY
8052011-03-25 Chong Yidong <cyd@stupidchicken.com>
806
807 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
808 incurred during fontification.
809
6b1f9ba4
JB
8102011-03-25 Juanma Barranquero <lekktu@gmail.com>
811
812 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
813 (DEFVAR_PER_BUFFER): Don't pass it.
814
815 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
816 (scrolling_window): Don't pass it.
817
0f4a96b5
JB
8182011-03-25 Juanma Barranquero <lekktu@gmail.com>
819
820 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
821
822 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
823 and `suffix'.
824 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
825 of variables specific to SELinux and computation of `encoded_absname'.
826
827 * image.c (XPutPixel): Remove unused variable `height'.
828
829 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
830
831 * unexw32.c (get_section_info): Remove unused variable `section'.
832
833 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
834 (system_process_attributes): Remove unused variable `sess'.
835 (sys_read): Remove unused variable `err'.
836
837 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
838 (w32_wnd_proc): Remove unused variable `isdead'.
839 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
840 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
841 (x_create_tip_frame): Remove unused variable `tem'.
842
843 * w32inevt.c (w32_console_read_socket):
844 Remove unused variable `no_events'.
845
846 * w32term.c (x_draw_composite_glyph_string_foreground):
847 Remove unused variable `width'.
848
1149507c
JB
8492011-03-24 Juanma Barranquero <lekktu@gmail.com>
850
851 * w32term.c (x_set_glyph_string_clipping):
852 Don't pass uninitialized region to CombineRgn.
853
9c88f339
JB
8542011-03-23 Juanma Barranquero <lekktu@gmail.com>
855
856 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
857 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
858 (Fx_close_connection): Remove unused variable `i'.
859
860 * w32font.c (w32font_draw): Return number of glyphs.
861 (w32font_open_internal): Remove unused variable `i'.
862 (w32font_driver): Add missing initializer.
863
864 * w32menu.c (utf8to16): Remove unused variable `utf16'.
865 (fill_in_menu): Remove unused variable `items_added'.
866
867 * w32term.c (last_mouse_press_frame): Remove static global variable.
868 (w32_clip_to_row): Remove unused variable `f'.
869 (x_delete_terminal): Remove unused variable `i'.
870
871 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
872 (NOTHING): Remove unused static global variable.
873 (uniscribe_check_otf): Remove unused variable `table'.
874 (uniscribe_font_driver): Add missing initializers.
875
dee091a3
JD
8762011-03-23 Julien Danjou <julien@danjou.info>
877
878 * term.c (Fsuspend_tty, Fresume_tty):
879 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
880 * window.c (temp_output_buffer_show):
881 * insdel.c (signal_before_change):
882 * frame.c (Fhandle_switch_frame):
883 * fileio.c (Fdo_auto_save):
884 * emacs.c (Fkill_emacs):
885 * editfns.c (save_excursion_restore):
886 * cmds.c (internal_self_insert):
887 * callint.c (Fcall_interactively):
888 * buffer.c (Fkill_all_local_variables):
889 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
890 Use Frun_hooks.
0f4a96b5 891 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
dee091a3
JD
892 unconditionnaly since it does the check itself.
893
2c520ab5 8942011-03-23 Paul Eggert <eggert@cs.ucla.edu>
f0641eff 895
c9c49752
PE
896 Fix more problems found by GCC 4.5.2's static checks.
897
8abc3f12
PE
898 * coding.c (encode_coding_raw_text): Avoid unnecessary test
899 the first time through the loop, since we know p0 < p1 then.
900 This also avoids a gcc -Wstrict-overflow warning.
901
a2d26660
PE
902 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
903 leading to a memory leak, possible in functions like
904 load_charset_map_from_file that can allocate an unbounded number
b12ef411 905 of objects (Bug#8318).
a2d26660 906
916c72e9
PE
907 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
908 that could (at least in theory) be that large.
909
19ab8a18
PE
910 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
911 This is less likely to overflow, and avoids undefined behavior if
912 overflow does occur. All callers changed. Use strtoul to scan
913 for the unsigned long integer.
b7cbbd6f
PE
914 (pint2hrstr): Simplify and tune code slightly.
915 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
19ab8a18 916
f0641eff
PE
917 * scroll.c (do_scrolling): Work around GCC bug 48228.
918 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
919
7f650bb9
PE
920 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
921 This also avoids a warning with gcc -Wstrict-overflow.
39f5e519
PE
922 (validate_x_resource_name): Simplify count usage.
923 This also avoids a warning with gcc -Wstrict-overflow.
7f650bb9 924
37dd57d1
PE
925 * fileio.c (Fcopy_file): Report error if fchown or fchmod
926 fail (Bug#8306).
81e56e61 927
699979fc 928 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
dc1ca6a8 929
401bf9b4
PE
930 * process.c (Fmake_network_process): Use socklen_t, not int,
931 where POSIX says socklen_t is required in portable programs.
932 This fixes a porting bug on hosts like 64-bit HP-UX, where
591b2973 933 socklen_t is wider than int (Bug#8277).
401bf9b4
PE
934 (Fmake_network_process, server_accept_connection):
935 (wait_reading_process_output, read_process_output):
936 Likewise.
937
b93aacde
PE
938 * process.c: Rename or move locals to avoid shadowing.
939 (list_processes_1, Fmake_network_process):
940 (read_process_output_error_handler, exec_sentinel_error_handler):
941 Rename or move locals.
4dc343ee 942 (Fmake_network_process): Define label "retry_connect" only if needed.
0da49335 943 (Fnetwork_interface_info): Fix pointer signedness.
f990b4e5 944 (process_send_signal): Add cast to avoid pointer signedness problem.
7b808126 945 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
c939f91b 946 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
b93aacde 947
af8a867c 948 Make tparam.h and terminfo.c consistent.
44f230aa
SM
949 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
950 Include tparam.h instead, since it declares them.
af8a867c
PE
951 * cm.h (PC): Remove extern decl; tparam.h now does this.
952 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
953 * terminfo.c: Include tparam.h, to check interfaces.
954 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
955 (tparam): Adjust signature to match interface in tparam.h;
956 this removes some undefined behavior. Check that outstring and len
957 are zero, which they always are with Emacs.
958 * tparam.h (PC, BC, UP): New extern decls.
959
0248044d 960 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
001a7ab4 961 (xftfont_open): Rename locals to avoid shadowing.
0248044d 962
8ff096c1 963 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
a00924bb
PE
964 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
965 (OTF_TAG_SYM): Omit macro if not needed.
e932860f 966 (ftfont_list): Remove unused local.
49eaafba
PE
967 (get_adstyle_property, ftfont_pattern_entity):
968 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
969 Rename locals to avoid shadowing.
8ff096c1 970
e2be39f6
PE
971 * xfont.c (xfont_list_family): Mark var as initialized.
972
c9735e30
PE
973 * xml.c (make_dom): Now static.
974
8f5201ae
PE
975 * composite.c (composition_compute_stop_pos): Rename local to
976 avoid shadowing.
b246f932
PE
977 (composition_reseat_it): Remove unused locals.
978 (find_automatic_composition, composition_adjust_point): Likewise.
80e079b2 979 (composition_update_it): Mark var as initialized.
11b61122
PE
980 (find_automatic_composition): Mark vars as initialized,
981 with a FIXME (Bug#8290).
8f5201ae 982
760fbc2c
PE
983 character.h: Rename locals to avoid shadowing.
984 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
985 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
986 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
987 (BUF_DEC_POS): Be more systematic about renaming local temporaries
988 to avoid shadowing.
989
ff08eb85
PE
990 * textprop.c (property_change_between_p): Remove; unused.
991
fc7bf025
PE
992 * intervals.c (interval_start_pos): Now static.
993
235d7abc
PE
994 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
995
44f230aa
SM
996 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
997 Rename locals to avoid shadowing.
3e7d6594 998
50060332
PE
999 * sound.c (wav_play, au_play, Fplay_sound_internal):
1000 Fix pointer signedness.
d01f234b 1001 (alsa_choose_format): Remove unused local var.
c83b8872
PE
1002 (wav_play): Initialize a variable to 0, to prevent undefined
1003 behavior (Bug#8278).
50060332 1004
c4fc4e30
PE
1005 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
1006
918436ed
PE
1007 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
1008
c939f91b
PE
1009 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
1010 clobbering (Bug#8298).
b9c7f648
PE
1011 * sysdep.c (sys_subshell): Likewise.
1012 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
7e9123a2 1013
6bd8c144
PE
1014 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
1015 This should get cleaned up, so that child_setup has the
1016 same signature on all platforms.
1017
7710357c 1018 * callproc.c (call_process_cleanup): Now static.
cb1d0ef7 1019 (relocate_fd): Rename locals to avoid shadowing.
7710357c 1020
c59da222
CY
10212011-03-22 Chong Yidong <cyd@stupidchicken.com>
1022
1023 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
1024 not to be necessary, and produces flickering.
1025
66b87493
GM
10262011-03-20 Glenn Morris <rgm@gnu.org>
1027
1028 * config.in: Remove file.
1029
45b6f6d5
JB
10302011-03-20 Juanma Barranquero <lekktu@gmail.com>
1031
1032 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
1033 are now in src/globals.h.
1034 (syms_of_minibuf): Remove spurious & from previous change.
1035
3ec03f7e
LL
10362011-03-20 Leo <sdl.web@gmail.com>
1037
1038 * minibuf.c (completing-read-function): New variable.
1039 (completing-read-default): Rename from completing-read.
1040 (completing-read): Call completing-read-function.
1041
b14e3e21
CY
10422011-03-19 Juanma Barranquero <lekktu@gmail.com>
1043
1044 * xfaces.c (Fx_load_color_file):
1045 Read color file from absolute filename (bug#8250).
1046
f2b726e6
JB
10472011-03-19 Juanma Barranquero <lekktu@gmail.com>
1048
1049 * makefile.w32-in: Update dependencies.
1050
09f6ff02
EZ
10512011-03-17 Eli Zaretskii <eliz@gnu.org>
1052
1053 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
1054
29a6015a
PE
10552011-03-17 Paul Eggert <eggert@cs.ucla.edu>
1056
a3a6c54e
PE
1057 Fix more problems found by GCC 4.5.2's static checks.
1058
b766f867
PE
1059 * process.c (make_serial_process_unwind, send_process_trap):
1060 (sigchld_handler): Now static.
1061
be02381c
PE
1062 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
1063 That way, the code declares only the vars that it needs.
1064 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
1065 * s/cygwin.h (PTY_ITERATION): Likewise.
1066 * s/darwin.h (PTY_ITERATION): Likewise.
1067 * s/gnu-linux.h (PTY_ITERATION): Likewise.
1068
57048744
PE
1069 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
1070 * process.c (allocate_pty): Don't declare stb unless it's needed.
1071
7914961c 1072 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
615f2d59
PE
1073 (CONSTANTLIM): Remove; unused.
1074 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
1075 Define only if needed.
7914961c 1076
b3967b18
PE
1077 * unexelf.c (unexec): Name an expression,
1078 to avoid gcc -Wbad-function-cast warning.
9ae71512
PE
1079 Use a different way to cause a compilation error if anyone uses
1080 n rather than nn, a way that does not involve shadowing.
73366a00 1081 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
b3967b18 1082
29a6015a
PE
1083 * deps.mk (unexalpha.o): Remove; unused.
1084
43cfc33e 1085 New file unexec.h, the (simple) interface for unexec (Bug#8267).
7feda0d2 1086 * unexec.h: New file.
ce701a33
PE
1087 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
1088 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
1089 Depend on unexec.h.
1090 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
1091 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
1092 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
381259ef 1093 Change as necessary to match prototype in unexec.h.
ce701a33 1094
01f44d5a
PE
1095 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
1096 shadowing.
4f63c6bb 1097 (back_comment, skip_chars): Mark vars as initialized.
01f44d5a 1098
a6670b0b
PE
1099 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
1100 Rename locals to avoid shadowing.
1101
cef2010d 1102 * lread.c (read1): Rewrite so as not to use empty "else".
0902fe45 1103 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
cef2010d 1104
d4d7173a
PE
1105 * print.c (Fredirect_debugging_output): Fix pointer signedess.
1106
f08b802a
PE
1107 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
1108 warning when compiling print.c.
1109
3ddb0639
PE
1110 * font.c (font_unparse_fcname): Abort in an "impossible" situation
1111 instead of using an uninitialized var.
5ad03b97 1112 (font_sort_entities): Mark var as initialized.
3ddb0639 1113
170a2692
PE
1114 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
1115
e663c700
PE
1116 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
1117 pointers to constants.
89bc529a 1118 (font_parse_fcname): Remove unused vars.
7b81e2d0 1119 (font_delete_unmatched): Now static.
ea838e10 1120 (font_get_spec): Remove; unused.
13a547c6
PE
1121 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
1122 (font_update_drivers, Ffont_get_glyphs, font_add_log):
1123 Rename or move locals to avoid shadowing.
e663c700 1124
2a80c887 1125 * fns.c (require_nesting_list, require_unwind): Now static.
612f56df 1126 (Ffillarray): Rename locals to avoid shadowing.
2a80c887 1127
1384fa33 1128 * floatfns.c (domain_error2): Define only if needed.
a885e2ed 1129 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
1384fa33 1130
8b2c52e9
PE
1131 * alloc.c (mark_backtrace): Move decl from here ...
1132 * lisp.h: ... to here, so that it can be checked.
1133
475545b5 1134 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
d28a2170 1135 (Fdefvar): Rewrite so as not to use empty "else".
cfcbfb1a
PE
1136 (lisp_indirect_variable): Name an expression,
1137 to avoid gcc -Wbad-function-cast warning.
1faed8ae 1138 (Fdefvar): Rename locals to avoid shadowing.
475545b5 1139
b1349114 1140 * callint.c (quotify_arg, quotify_args): Now static.
a3e8cbda 1141 (Fcall_interactively): Rename locals to avoid shadowing.
b0e80955 1142 Use const pointer when appropriate.
b1349114 1143
a2928364
PE
1144 * lisp.h (get_system_name, get_operating_system_release):
1145 Move decls here, to check interfaces.
1146 * process.c (get_operating_system_release): Move decl to lisp.h.
1147 * xrdb.c (get_system_name): Likewise.
63c5d10b
PE
1148 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
1149 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
1150 some of which prompt warnings from gcc -Wbad-function-cast.
545b49b4
PE
1151 (Fformat_time_string, Fencode_time, Finsert_char):
1152 (Ftranslate_region_internal, Fformat):
1153 Rename or remove local vars to avoid shadowing.
9710023e 1154 (Ftranslate_region_internal): Mark var as initialized.
63c5d10b 1155
a415e694
PE
1156 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
1157 avoid shadowing.
1158
8ef4622d
PE
1159 * lisp.h (eassert): Check that the argument compiles, even if
1160 ENABLE_CHECKING is not defined.
1161
946f9a5b
PE
1162 * data.c (Findirect_variable): Name an expression, to avoid
1163 gcc -Wbad-function-cast warning.
112396d6 1164 (default_value, arithcompare, arith_driver, arith_error): Now static.
b9b84fa9 1165 (store_symval_forwarding): Rename local to avoid shadowing.
44f230aa
SM
1166 (Fmake_variable_buffer_local, Fmake_local_variable):
1167 Mark variables as initialized.
52746918 1168 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
946f9a5b 1169
e5aab7e7 1170 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
ae35e756
PE
1171 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
1172 Rename locals to avoid shadowing.
dff45157
PE
1173 (mark_stack): Move local variables into the #ifdef region where
1174 they're used.
7bc26fdb
PE
1175 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
1176 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
1177 needed otherwise.
1178 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
1179 (GC_STRING_CHARS): Remove; not used.
d40d4be1 1180 (Fmemory_limit): Cast sbrk's returned value to char *.
ae35e756 1181
e5aab7e7
PE
1182 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
1183 avoids undefined behavior in theory.
1184
4da60324
PE
1185 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
1186
88043301
PE
1187 Use functions, not macros, for up- and down-casing (Bug#8254).
1188 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1189 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
1190 to use the following functions instead of these macros.
1191 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
1192 EMACS_INT, since callers assume the returned value fits in int.
1193 (upcase1): Likewise, for UPCASE_TABLE.
1194 (uppercasep, lowercasep, upcase): New static inline functions.
0da09c43 1195 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
db69b0cd 1196 the race-condition problem in the old DOWNCASE.
88043301 1197
19ed5445
PE
1198 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
1199 Rename locals to avoid shadowing.
1200 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
abbd1bcf
PE
1201 (regex_compile, re_search_2, re_match_2_internal):
1202 Remove unused local vars.
952db0d7
PE
1203 (FREE_VAR): Rewrite so as not to use empty "else",
1204 which gcc can warn about.
da053e48 1205 (regex_compile, re_match_2_internal): Mark locals as initialized.
b313f9d8
PE
1206 (RETALLOC_IF): Define only if needed.
1207 (WORDCHAR_P): Likewise. This one is never needed, but is used
1208 only in a comment talking about a compiler bug, so put inside
1209 the #if 0 of that comment.
1210 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
1211 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
1212 Remove; unused.
19ed5445 1213
1f3561e4 1214 * search.c (boyer_moore): Rename locals to avoid shadowing.
76ef09b7
PE
1215 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
1216 (PREV_CHAR_BOUNDARY): Likewise.
1f3561e4 1217
ded6f8f7
PE
1218 * search.c (simple_search): Remove unused var.
1219
dbd37a95
PE
1220 * dired.c (compile_pattern): Move decl from here ...
1221 * lisp.h: ... to here, so that it can be checked.
1222 (struct re_registers): New forward decl.
1223
7e47afad
PE
1224 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
1225
85f24f61
PE
1226 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
1227 All uses changed.
1228 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
1229 Rename locals to avoid shadowing.
5671df8f 1230 (Fvertical_motion): Mark locals as initialized.
85f24f61 1231
181aa2be 1232 * casefiddle.c (casify_object, casify_region): Now static.
e45a141a 1233 (casify_region): Mark local as initialized.
181aa2be 1234
930d429c
PE
1235 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
1236
7082eac6
PE
1237 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
1238 New macros, so that the caller can use some names other than
1239 gcpro1, gcpro2, etc.
1240 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
1241 of the new macros.
1242 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
1243 argument, for consistency with GCPRO2_VAR, etc: it is now the
1244 prefix of the variable, not the variable itself. All uses
1245 changed.
38b2c076
PE
1246 * dired.c (directory_files_internal, file_name_completion):
1247 Rename locals to avoid shadowing.
1248
15206ed9
PE
1249 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
1250 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
1251 dired.c's scmp function, had undefined behavior.
1252 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1253 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
1254 * buffer.h: ... to here, because these macros use current_buffer,
1255 and the new implementation with inline functions needs to have
1256 current_buffer in scope now, rather than later when the macros
1257 are used.
1258 (downcase, upcase1): New static inline functions.
1259 (DOWNCASE, UPCASE1): Reimplement using these functions.
1260 This avoids undefined behavior in expressions like
1261 DOWNCASE (x) == DOWNCASE (y), which previously suffered
1262 from race conditions in accessing the global variables
1263 case_temp1 and case_temp2.
1264 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
1265 * lisp.h (case_temp1, case_temp2): Remove their decls.
1266 * character.h (ASCII_CHAR_P): Move from here ...
1267 * lisp.h: ... to here, so that the inline functions mentioned
1268 above can use them.
1269
4a6bea26
PE
1270 * dired.c (directory_files_internal_unwind): Now static.
1271
f14b7e14
PE
1272 * fileio.c (file_name_as_directory, directory_file_name):
1273 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
1274 Now static.
2893f146
PE
1275 (file_name_as_directory): Use const pointers when appropriate.
1276 (Fexpand_file_name): Likewise. In particular, newdir might
1277 point at constant storage, so make it a const pointer.
fd4ead52 1278 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
b14aac08
PE
1279 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
1280 signedness issues.
f839df0c
PE
1281 (Fset_file_times, Finsert_file_contents, auto_save_error):
1282 Rename locals to avoid shadowing.
f14b7e14 1283
5716756e 1284 * minibuf.c (choose_minibuf_frame_1): Now static.
62137a95
PE
1285 (Ftry_completion, Fall_completions): Rename or remove locals
1286 to avoid shadowing.
5716756e 1287
b4c3046a
PE
1288 * marker.c (bytepos_to_charpos): Remove; unused.
1289
b45db522
PE
1290 * lisp.h (verify_bytepos, count_markers): New decls,
1291 so that gcc does not warn that these functions aren't declared.
1292
85876d07
PE
1293 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
1294 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
f0cb4a60 1295 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
40ef059e 1296 (copy_text): Remove unused local var.
85876d07 1297
03d78a21 1298 * filelock.c (within_one_second): Now static.
b3dd38ab 1299 (lock_file_1): Rename local to avoid shadowing.
03d78a21 1300
5df8f01b
PE
1301 * buffer.c (fix_overlays_before): Mark locals as initialized.
1302 (fix_start_end_in_overlays): Likewise. This function should be
1303 simplified by using pointers-to-pointers, but that's a different
1304 matter.
b1d876f1 1305 (switch_to_buffer_1): Now static.
8f54f30a
PE
1306 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
1307 (report_overlay_modification): Rename locals to avoid shadowing.
c3bd59b5 1308
a70072c9 1309 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
fbd02d7b 1310 Fix pointer signedness issue.
edced198
PE
1311 (sys_subshell): Mark local as volatile if checking for lint,
1312 to suppress a gcc -Wclobbered warning that does not seem to be right.
15dfd3d9 1313 (MAXPATHLEN): Define only if needed.
a70072c9 1314
a0977c44
PE
1315 * process.c (serial_open, serial_configure): Move decls from here ...
1316 * systty.h: ... to here, so that they can be checked.
1317
a884fdcc
PE
1318 * fns.c (get_random, seed_random): Move extern decls from here ...
1319 * lisp.h: ... to here, so that they can be checked.
1320
604efe86 1321 * sysdep.c (reset_io): Now static.
b8950c94 1322 (wait_for_termination_signal): Remove; unused.
604efe86 1323
38fc62d9
PE
1324 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
1325 (copy_keymap_item, append_key, push_text_char_description):
1326 Now static.
1004a21a 1327 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
dbbb8427 1328 (DENSE_TABLE_SIZE): Remove; unused.
c1141155
PE
1329 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
1330 (describe_map_tree):
1331 Rename locals to avoid shadowing.
38fc62d9 1332
2f2650da
PE
1333 * keyboard.c: Declare functions static if they are not used elsewhere.
1334 (echo_char, echo_dash, cmd_error, top_level_2):
1335 (poll_for_input, handle_async_input): Now static.
69a058fa
PE
1336 (read_char, kbd_buffer_get_event, make_lispy_position):
1337 (make_lispy_event, make_lispy_movement, apply_modifiers):
1338 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
1339 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
1340 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
c8a06054 1341 (read_key_sequence, read_char): Mark locals as initialized.
3ac94672 1342 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
2f2650da 1343
a053e86c 1344 * keyboard.h (make_ctrl_char): New decl.
da2f2dd9
PE
1345 (mark_kboards): Move decl here ...
1346 * alloc.c (mark_kboards): ... from here.
a053e86c 1347
4752793e
PE
1348 * lisp.h (force_auto_save_soon): New decl.
1349
74f10ca7 1350 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
244fc23d
PE
1351 (DEFINE_DUMMY_FUNCTION): New macro.
1352 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
1353 Use it.
c03cd23f
PE
1354 (main): Add casts to avoid warnings
1355 if GCC considers string literals to be constants.
74f10ca7 1356
022e70d4
PE
1357 * lisp.h (fatal_error_signal): Add decl, since it's exported.
1358
59d6fe83
PE
1359 * dbusbind.c: Pointer signedness fixes.
1360 (xd_signature, xd_append_arg, xd_initialize):
1361 (Fdbus_call_method, Fdbus_call_method_asynchronously):
1362 (Fdbus_method_return_internal, Fdbus_method_error_internal):
1363 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
1364 (Fdbus_register_signal): Use SSDATA when the context wants char *.
1365
78320123
PE
1366 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
1367 if GCC considers string literals to be constants.
49cebcca 1368 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
78320123 1369
35ac2a97
SM
13702011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
1371
fb103ca9
SM
1372 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
1373 (print_preprocess, print_object): New macro to fix last change.
1374
35ac2a97
SM
1375 * print.c (print_preprocess): Don't forget font objects.
1376
62973b41
JB
13772011-03-16 Juanma Barranquero <lekktu@gmail.com>
1378
1379 * emacs.c (USAGE3): Doc fixes.
1380
0e48bb22
AS
13812011-03-15 Andreas Schwab <schwab@linux-m68k.org>
1382
1383 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
1384 structure.
1385
7684e57b
JB
13862011-03-14 Juanma Barranquero <lekktu@gmail.com>
1387
1388 * lisp.h (VWindow_system, Qfile_name_history):
1389 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
1390 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
1391 (w32_system_caret_x, w32_system_caret_y): Declare extern.
1392
1393 * w32select.c: Don't #include "keyboard.h".
c96bbc66 1394 (run_protected): Add extern declaration for waiting_for_input.
7684e57b
JB
1395
1396 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
1397 * w32console.c (detect_input_pending, read_input_pending)
1398 (encode_terminal_code):
1399 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
1400 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
1401 (w32_system_caret_y, Qfile_name_history):
1402 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
1403 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
1404 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
1405 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
1406 * w32proc.c (Qlocal, report_file_error):
1407 * w32term.c (Vwindow_system, updating_frame):
1408 * w32uniscribe.c (initialized, uniscribe_font_driver):
1409 Remove unneeded extern declarations.
1410
2aa46d6c
CY
14112011-03-14 Chong Yidong <cyd@stupidchicken.com>
1412
c96bbc66 1413 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
2aa46d6c 1414
cffc6f3b
CY
14152011-03-13 Chong Yidong <cyd@stupidchicken.com>
1416
1417 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
1418 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
1419 These macros can no longer be used for assignment.
1420
44f230aa
SM
1421 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
1422 Assign struct members directly, instead of using BUF_BEGV etc.
cffc6f3b
CY
1423 (record_buffer_markers, fetch_buffer_markers): New functions for
1424 recording and fetching special buffer markers.
1425 (set_buffer_internal_1, set_buffer_temp): Use them.
1426
1427 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
1428
1429 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
1430
1431 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
1432 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
1433
1434 * xdisp.c (hscroll_window_tree):
1435 (reconsider_clip_changes): Use PT instead of BUF_PT.
1436
d251f04b
EZ
14372011-03-13 Eli Zaretskii <eliz@gnu.org>
1438
1439 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
1440 $(EMACS_ROOT)/lib/intprops.h.
1441
f0c77cd1
PE
14422011-03-13 Paul Eggert <eggert@cs.ucla.edu>
1443
3eca4629
PE
1444 Fix more problems found by GCC 4.5.2's static checks.
1445
7c86ee98
PE
1446 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
1447 to unsigned char * to avoid compiler diagnostic.
b0afc268
PE
1448 (xg_free_frame_widgets): Make it clear that a local variable is
1449 needed only if USE_GTK_TOOLTIP.
01e0b5ad
PE
1450 (gdk_window_get_screen): Make it clear that this macro is needed
1451 only if USE_GTK_TOOLTIP.
1e5524e7
PE
1452 (int_gtk_range_get_value): New function, which avoids a diagnostic
1453 from gcc -Wbad-function-cast.
1454 (xg_set_toolkit_scroll_bar_thumb): Use it.
1455 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
1456 diagnostic from gcc -Wbad-function-cast.
65dc836c
PE
1457 (get_utf8_string, xg_get_file_with_chooser):
1458 Rename locals to avoid shadowing.
1459 (create_dialog): Move locals to avoid shadowing.
7c86ee98 1460
41729b81
PE
1461 * xgselect.c (xg_select): Remove unused var.
1462
f0c77cd1
PE
1463 * image.c (four_corners_best): Mark locals as initialized.
1464 (gif_load): Initialize transparent_p to zero (Bug#8238).
1465 Mark another local as initialized.
ec6cf4c6 1466 (my_png_error, my_error_exit): Mark with NO_RETURN.
f0c77cd1 1467
ce0ad53d 1468 * image.c (clear_image_cache): Now static.
d5d5a617 1469 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
e22cffbc 1470 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
77a765fd
PE
1471 (x_edge_detection): Remove unnecessary cast that
1472 gcc -Wbad-function-cast diagnoses.
2037898d 1473 (gif_load): Fix pointer signedness.
6ae141d6
PE
1474 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
1475 (jpeg_load, gif_load): Rename locals to avoid shadowing.
ce0ad53d 1476
33383987 14772011-03-12 Paul Eggert <eggert@cs.ucla.edu>
3eca4629 1478
d32df629
PE
1479 Improve quality of tests for time stamp overflow.
1480 For example, without this patch (encode-time 0 0 0 1 1
1481 1152921504606846976) returns the obviously-bogus value (-948597
1482 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
1483 reports time overflow. See
1484 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
b8d9bd41
PE
1485 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
1486 * editfns.c: Include limits.h and intprops.h.
1487 (TIME_T_MIN, TIME_T_MAX): New macros.
1488 (time_overflow): Move earlier, to before first use.
1489 (hi_time, lo_time): New functions, for an accurate test for
1490 out-of-range times.
1491 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
1492 (Fget_internal_run_time): Don't assume time_t fits in int.
1493 (make_time): Use list2 instead of Fcons twice.
1494 (Fdecode_time): More accurate test for out-of-range times.
1495 (check_tm_member): New function.
1496 (Fencode_time): Use it, to test for out-of-range times.
d32df629
PE
1497 (lisp_time_argument): Don't rely on undefined left-shift and
1498 right-shift behavior when checking for time stamp overflow.
8be6f318 1499
fe31d94c
PE
1500 * editfns.c (time_overflow): New function, refactoring common code.
1501 (Fformat_time_string, Fdecode_time, Fencode_time):
1502 (Fcurrent_time_string): Use it.
1503
8be6f318
PE
1504 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
1505 * dired.c (make_time): Move to ...
1506 * editfns.c (make_time): ... here.
1507 * systime.h: Note the move.
1508
09d9db2c 15092011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
c47cbdfd 1510
126bc0dc
YM
1511 * fringe.c (update_window_fringes): Remove unused variables.
1512
c47cbdfd
YM
1513 * unexmacosx.c (copy_data_segment): Also copy __got section.
1514 (Bug#8223)
1515
7ac80be9
EZ
15162011-03-12 Eli Zaretskii <eliz@gnu.org>
1517
c96bbc66 1518 * termcap.c [MSDOS]: Include "msdos.h".
058e5dad
EZ
1519 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
1520 Constify `char *' arguments and their references according to
1521 prototypes in tparam.h.
1522
ecb0f94d 1523 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
058e5dad 1524
7ac80be9
EZ
1525 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
1526 Adapt all references accordingly.
1527
1528 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
1529
ef1fd07e
TT
15302011-03-11 Tom Tromey <tromey@redhat.com>
1531
1532 * buffer.c (syms_of_buffer): Remove obsolete comment.
1533
7ef4b50c
EZ
15342011-03-11 Eli Zaretskii <eliz@gnu.org>
1535
1536 * termhooks.h (encode_terminal_code): Declare prototype.
1537
1538 * msdos.c (encode_terminal_code): Don't declare prototype.
1539
1540 * term.c (encode_terminal_code): Now external again, used by
1541 w32console.c and msdos.c.
1542
44f230aa
SM
1543 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
1544 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
7ef4b50c 1545
4b1ec863 15462011-03-11 Paul Eggert <eggert@cs.ucla.edu>
f78faa98 1547
1714f52b 1548 Fix some minor problems found by GCC 4.5.2's static checks.
83316bf4 1549
4b1ec863
PE
1550 * fringe.c (update_window_fringes): Mark locals as initialized
1551 (Bug#8227).
1552 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
bf60f616 1553
524c7aa6
PE
1554 * alloc.c (mark_fringe_data): Move decl from here ...
1555 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
1556 to check its interface.
1557 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
1558
a5c0af81 1559 * fontset.c (free_realized_fontset): Now static.
7519b8cd 1560 (Fset_fontset_font): Rename local to avoid shadowing.
cc6e5db1 1561 (fontset_font): Mark local as initialized.
a9a06e0b 1562 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
a5c0af81 1563
b4716021
PE
1564 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
1565
811e9bac 1566 * xselect.c (x_disown_buffer_selections): Remove; not used.
7b83e2f1 1567 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
aa0daa9f
PE
1568 (x_own_selection, Fx_disown_selection_internal): Rename locals
1569 to avoid shadowing.
1570 (x_handle_dnd_message): Remove local to avoid shadowing.
811e9bac 1571
7e3ab302
PE
1572 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
1573 so that the caller can use some name other than gcpro1.
1574 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
58d2d479
PE
1575 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1576 (Fx_backspace_delete_keys_p):
1577 Use them to avoid shadowing, and rename vars to avoid shadowing.
1578 (x_decode_color, x_set_name, x_window): Now static.
6b437900 1579 (Fx_create_frame): Add braces to silence GCC warning.
c0951e53 1580 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
06b0c8a0
PE
1581 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
1582 Remove unused locals.
7e3ab302
PE
1583 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1584 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
1585 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
1586 macros.
f78faa98 1587
e2b13473
PE
1588 * xterm.h (x_mouse_leave): New decl.
1589
77f23912
PE
1590 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
1591 Remove unused functions.
cdf4ba58
PE
1592 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
1593 (x_calc_absolute_position): Now static.
7411c686 1594 (XTread_socket): Don't define label "out" unless it's used.
2b07bcff 1595 Don't declare local "event" unless it's used.
ed7bf3a5
PE
1596 (x_iconify_frame, x_free_frame_resources): Don't declare locals
1597 unless they are used.
38d0b34a
PE
1598 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
1599 (x_fatal_error_signal): Remove; not used.
a6067996
PE
1600 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
1601 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
1602 (x_error_catcher, x_connection_closed, x_error_handler):
1603 (x_error_quitter, xembed_send_message, x_iconify_frame):
1604 (my_log_handler): Rename locals to avoid shadowing.
28f1c698 1605 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
2a8fade0 1606 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
77f23912 1607
44f230aa
SM
1608 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
1609 Rename or move locals to avoid shadowing.
6b463e58 1610 (tty_defined_color, merge_face_heights): Now static.
5967d051 1611 (free_realized_faces_for_fontset): Remove; not used.
1e9966ea
PE
1612 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
1613 does not deduce is never used uninitialized.
73719eba
PE
1614 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
1615 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
071048a3 1616
426994c3 1617 * terminal.c (store_terminal_param): Now static.
5489860b 1618
032f1620 1619 * xmenu.c (menu_highlight_callback): Now static.
9d66f88e 1620 (set_frame_menubar): Remove unused local.
d4323972 1621 (xmenu_show): Rename parameter to avoid shadowing.
6d1f7fee
PE
1622 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
1623 since they might point to immutable storage.
281585b0
PE
1624 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
1625 since it's unused otherwise.
032f1620 1626
367c19e5 1627 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
53df7c11 1628 Add a FIXME, since the code still doesn't look right. (Bug#8215)
9f36b9fd
PE
1629 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
1630 avoids a gcc -Wuninitialized diagnostic.
0e086e8f 1631 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
44a3a108
PE
1632 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
1633 does not deduce are never used uninitialized.
70739cbe 1634
07b48fa9
PE
1635 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
1636
8868a238 1637 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
4554d213
PE
1638 * window.c (window_loop, size_window):
1639 (run_window_configuration_change_hook, enlarge_window): Likewise.
8868a238 1640
7e5cf297 1641 * window.c (display_buffer): Now static.
d6550a9f
PE
1642 (size_window): Mark variables that gcc -Wuninitialized
1643 does not deduce are never used uninitialized.
a586633d
PE
1644 * window.h (check_all_windows): New decl, to forestall
1645 gcc -Wmissing-prototypes diagnostic.
5b555da1 1646 * dispextern.h (bidi_dump_cached_states): Likewise.
7e5cf297 1647
f6095868
PE
1648 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
1649 shadowing.
1650 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
726929c4
PE
1651 Include <limits.h>.
1652 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
1653 and to avoid gcc -Wuninitialized warning.
89ef49df
PE
1654 (load_charset_map): Mark variables that gcc -Wuninitialized
1655 does not deduce are never used uninitialized.
53df7c11 1656 (load_charset): Abort instead of using uninitialized var (Bug#8229).
f6095868 1657
f38b440c
PE
1658 * coding.c (coding_set_source, coding_set_destination):
1659 Use "else { /* comment */ }" rather than "else /* comment */;"
1660 for clarity, and to avoid gcc -Wempty-body warning.
2735d060
PE
1661 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
1662 a block, when the outer 'i' will do.
1663 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
1664 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
1665 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
1666 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
1667 (Fdecode_sjis_char, Fdefine_coding_system_internal):
1668 Rename locals to avoid shadowing.
1669 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
e2f1bab9
PE
1670 * coding.c (emacs_mule_char, encode_invocation_designation):
1671 Now static, since they're not used elsewhere.
413bb2db 1672 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
c4a63b12 1673 (decode_coding_object, encode_coding_object, detect_coding_system):
ee05f961
PE
1674 (decode_coding_emacs_mule): Mark variables that gcc
1675 -Wuninitialized does not deduce are never used uninitialized.
160b01f6
PE
1676 (detect_coding_iso_2022): Initialize a local variable that might
1677 be used uninitialized. Leave a FIXME because it's not clear that
53df7c11 1678 this initialization is needed. (Bug#8211)
5f58e762
PE
1679 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
1680 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
1681 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
1682 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
1683 Remove unused macros.
f38b440c 1684
232b38b9 1685 * category.c (hash_get_category_set): Remove unused local var.
9f3b5e69 1686 (copy_category_table): Now static, since it's not used elsewhere.
d0891610 1687 * character.c (string_count_byte8): Likewise.
232b38b9 1688
fb90da1b
PE
1689 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
1690 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
1691
fb93dbc2
PE
1692 * chartab.c (copy_sub_char_table): Now static, since it's not used
1693 elsewhere.
5c156ace
PE
1694 (sub_char_table_ref_and_range, char_table_ref_and_range):
1695 Rename locals to avoid shadowing.
bbcd0949 1696 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
fb93dbc2 1697
7d3b3862 1698 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
630d6892 1699 (BIDI_BOB): Remove unused macro.
7d3b3862 1700
6be7d3da
PE
1701 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
1702 deduce are never used uninitialized.
c2ed9c8b 1703 * term.c (encode_terminal_code): Likewise.
6be7d3da 1704
75f8807f 1705 * term.c (encode_terminal_code): Now static. Remove unused local.
72abad34 1706
50938595
PE
1707 * tparam.h: New file.
1708 * term.c, tparam.h: Include it.
1709 * deps.mk (term.o, tparam.o): Depend on tparam.h.
1710 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
1711 Move these decls to tparam.h, and make them agree with what
1712 is actually in tparam.c. The previous trick of using incompatible
1713 decls in different modules does not conform to the C standard.
1714 All callers of tparam changed to use tparam's actual API.
1715 * tparam.c (tparam1, tparam, tgoto):
1716 Use const pointers where appropriate.
1717
fbceeba2
PE
1718 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
1719 * cm.h (struct cm): Likewise.
1720 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
1721 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
1722 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
1723 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
1724 (turn_on_face, init_tty): Likewise.
1725 * termchar.h (struct tty_display_info): Likewise.
fbceeba2 1726
7f3f1250
PE
1727 * term.c (term_mouse_position): Rename local to avoid shadowing.
1728
e6ca6543
PE
1729 * alloc.c (mark_ttys): Move decl from here ...
1730 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
1731
c40f8d15
AS
17322011-03-11 Andreas Schwab <schwab@linux-m68k.org>
1733
1734 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
1735
cfe0661d
JB
17362011-03-09 Juanma Barranquero <lekktu@gmail.com>
1737
1738 * search.c (compile_pattern_1): Remove argument regp, unused since
1739 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
1740 (compile_pattern): Don't pass it.
1741
0afb4571
J
17422011-03-08 Jan Djärv <jan.h.d@swipnet.se>
1743
1744 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
1745 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
1746 for ! HAVE_GTK3.
1747 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
1748
1749 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
1750
1751 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
1752 gdk_window_get_screen, gdk_window_get_geometry,
1753 gdk_x11_window_lookup_for_display and GDK_KEY_g.
1754 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
1755 (xg_get_pixbuf_from_pixmap): New function.
1756 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
1757 to Pixmap, take frame as parameter, remove GdkColormap parameter.
1758 Call xg_get_pixbuf_from_pixmap instead of
1759 gdk_pixbuf_get_from_drawable.
1760 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
1761 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
1762 (xg_check_special_colors): Use GtkStyleContext and its functions
1763 for HAVE_GTK3.
1764 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
1765 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
1766 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
44f230aa
SM
1767 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
1768 Call gtk_widget_get_preferred_size.
0afb4571
J
1769 (xg_frame_resized): gdk_window_get_geometry only takes 5
1770 parameters.
44f230aa
SM
1771 (xg_win_to_widget, xg_event_is_for_menubar):
1772 Call gdk_x11_window_lookup_for_display.
0afb4571
J
1773 (xg_set_widget_bg): New function.
1774 (delete_cb): New function.
1775 (xg_create_frame_widgets): connect delete-event to delete_cb.
1776 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
1777 (xg_set_background_color): Call xg_set_widget_bg.
1778 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
1779 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
1780 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
1781 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
1782 if ! HAVE_GTK3.
1783 (update_frame_tool_bar): Call gtk_widget_hide.
1784 (xg_initialize): Use GDK_KEY_g.
1785
1786 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
1787 if ! HAVE_GTK3
1788 (x_session_initialize): Call gdk_x11_set_sm_client_id.
1789
1790 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
1791 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
1792 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
1793
1c2cc4ef
JB
17942011-03-08 Juanma Barranquero <lekktu@gmail.com>
1795
1796 * w32xfns.c (select_palette): Check success of RealizePalette against
1797 GDI_ERROR, not zero.
1798
33383987 1799See ChangeLog.11 for earlier changes.
aac0c6e3
MR
1800
1801;; Local Variables:
1802;; coding: utf-8
aac0c6e3
MR
1803;; End:
1804
33383987 1805 Copyright (C) 2011 Free Software Foundation, Inc.
aac0c6e3
MR
1806
1807 This file is part of GNU Emacs.
1808
1809 GNU Emacs is free software: you can redistribute it and/or modify
1810 it under the terms of the GNU General Public License as published by
1811 the Free Software Foundation, either version 3 of the License, or
1812 (at your option) any later version.
1813
1814 GNU Emacs is distributed in the hope that it will be useful,
1815 but WITHOUT ANY WARRANTY; without even the implied warranty of
1816 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1817 GNU General Public License for more details.
1818
1819 You should have received a copy of the GNU General Public License
1820 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.