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