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