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