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