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