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