Add certificate verify callback check for GnuTLS.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
fa6996bc
EZ
12011-04-24 Eli Zaretskii <eliz@gnu.org>
2
eb35682e
EZ
3 * xdisp.c (handle_single_display_spec): Rename the
4 display_replaced_before_p argument into display_replaced_p, to
5 make it consistent with the commentary. Fix typos in the
6 commentary.
7
e2ad650c
EZ
8 * textprop.c (syms_of_textprop): Remove dead code.
9 (copy_text_properties): Delete obsolete commentary about an
10 interface that was deleted long ago. Fix typos in the description
11 of arguments.
12
1b2de274
EZ
13 * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
14 to changes in oldXMenu/XMenu.h from 2011-04-16.
15 <menu_help_message, prev_menu_help_message>: Constify.
16 (IT_menu_make_room): menu->help_text is now `const char **';
17 adjust.
18
19 * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
20 to changes in oldXMenu/XMenu.h from 2011-04-16.
21 (struct XMenu): Declare `help_text' `const char **'.
22
23 * xfaces.c <Qunspecified>: Make extern again.
24
25 * syntax.c: Include sys/types.h before including regex.h, as
26 required by Posix.
27
762b15be
EZ
28 * doc.c (get_doc_string): Improve the format passed to `error'.
29
30 * doprnt.c (doprnt): Improve commentary.
31
32 * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
33
34 * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
35 them with etags.
36
f1052e5d
EZ
37 * makefile.w32-in (globals.h): Add a dummy recipe, to make any
38 changes in globals.h immediately force recompilation.
762b15be
EZ
39 (TAGS): Depend on $(CURDIR)/m/intel386.h and
40 $(CURDIR)/s/ms-w32.h.
41 (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
f1052e5d 42
fa6996bc
EZ
43 * character.c (Fchar_direction): Function deleted.
44 (syms_of_character): Don't defsubr it.
45 <char-direction-table>: Deleted.
46
e6c3da20
EZ
472011-04-23 Eli Zaretskii <eliz@gnu.org>
48
49 Fix doprnt so it could be used again safely in `verror'. (Bug#8435)
50 * doprnt.c: Include limits.h.
51 (SIZE_MAX): New macro.
52 (doprnt): Return a size_t value. 2nd arg is now size_t. Many
53 local variables are now size_t instead of int or unsigned.
54 Improve overflow protection. Support `l' modifier for integer
55 conversions. Support %l conversion. Don't assume an EMACS_INT
56 argument for integer conversions and for %c.
57
58 * lisp.h (doprnt): Restore prototype.
59
60 * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
61 $(SRC)/character.h.
62
63 * Makefile.in (base_obj): Add back doprnt.o.
64
65 * deps.mk (doprnt.o): Add back prerequisites.
66 (callint.o): Depend on character.h.
67
68 * eval.c (internal_lisp_condition_case): Include the handler
69 representation in the error message.
70 (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug
71 when breaking from the loop.
72
73 * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
74
75 * callint.c (Fcall_interactively): When displaying error message
76 about invalid control letter, pass the character's codepoint, not
77 a pointer to its multibyte form. Improve display of the character
78 in octal and display also its hex code.
79
80 * character.c (char_string): Use %x to display the (unsigned)
81 codepoint of an invalid character, to avoid displaying a bogus
82 negative value.
83
84 * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
85 `error', not SYMBOL_NAME itself.
86
87 * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
88 character arguments to `error'.
89
90 * charset.c (check_iso_charset_parameter): Fix incorrect argument
91 to `error' in error message about FINAL_CHAR argument. Make sure
92 FINAL_CHAR is a character, and use %c when it is passed as
93 argument to `error'.
94
4ffd0d6b 952011-04-23 Eli Zaretskii <eliz@gnu.org>
97a93095
EZ
96
97 * s/ms-w32.h (localtime): Redirect to sys_localtime.
98
99 * w32.c: Include <time.h>.
100 (sys_localtime): New function.
101
4ffd0d6b 1022011-04-23 Chong Yidong <cyd@stupidchicken.com>
c17819f4
CY
103
104 * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
105
4ffd0d6b 106 * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
aac0c6e3 107
4ffd0d6b 1082011-04-23 Samuel Thibault <sthibault@debian.org> (tiny change)
aac0c6e3 109
4ffd0d6b
GM
110 * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
111 zombies (Bug#8467).
aac0c6e3 112
04c56954
EZ
1132011-04-19 Eli Zaretskii <eliz@gnu.org>
114
115 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
116 gl_state.e_property when gl_state.object is Qt.
117
118 * insdel.c (make_gap_larger): Remove limitation of buffer size
119 to <= INT_MAX.
120
16a43933
CY
1212011-04-18 Chong Yidong <cyd@stupidchicken.com>
122
123 * xdisp.c (lookup_glyphless_char_display)
124 (produce_glyphless_glyph): Handle cons cell entry in
125 glyphless-char-display.
126 (Vglyphless_char_display): Document it.
127
128 * term.c (produce_glyphless_glyph): Handle cons cell entry in
129 glyphless-char-display.
130
4581706e
CY
1312011-04-17 Chong Yidong <cyd@stupidchicken.com>
132
133 * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
134
135 * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
136
137 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
138 definition for no-X builds.
139
4887c6e2 1402011-04-16 Paul Eggert <eggert@cs.ucla.edu>
764430a3 141
fd35b6f9
PE
142 Static checks with GCC 4.6.0 and non-default toolkits.
143
5c1ccb01
PE
144 * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
145
006c5daa
PE
146 * process.c (keyboard_bit_set): Define only if SIGIO.
147 (send_process_trap): Mark it with NO_RETURN if it doesn't return.
148 (send_process): Repair possible setjmp clobbering.
149
efc736d3
PE
150 * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
151
4e2fe2e6
PE
152 * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
153
f97334a2
PE
154 * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
155
4e75f29d
PE
156 * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
157 Define only if needed.
158
90efadd1
PE
159 * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
160 by pacifying GCC about it. Maybe it's time to retire it?
875975e9 161 * xfaces.c (USG, __TIMEVAL__): Likewise.
90efadd1 162
3c647824
PE
163 * dispextern.h (struct redisplay_interface): Rename param
164 to avoid shadowing.
e264f262 165 * termhooks.h (struct terminal): Likewise.
761383f4 166 * xterm.c (xembed_send_message): Likewise.
3c647824 167
b58c5c4a
PE
168 * insdel.c (make_gap_smaller): Define only if
169 USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
170
cad59032
PE
171 * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
172 it.
173
c339dc2e
PE
174 * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
175 so that we aren't warned about unused symbols.
176
91a3e27b
PE
177 * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
178
399c71d3 179 * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
7a3fb125 180
8ffc96f5
PE
181 * xfns.c (x_real_positions): Mark locals as initialized.
182
eef9bc79
PE
183 * xmenu.c (xmenu_show): Don't use uninitialized vars.
184
098db9dd
PE
185 * xterm.c: Fix problems found by static analysis with other toolkits.
186 (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
dda3aedd
PE
187 (x_dispatch_event): Declare static if USE_GTK, and
188 define if USE_GTK || USE_X_TOOLKIT.
098db9dd 189 (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
dda3aedd 190 * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
098db9dd
PE
191 * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only if
192 defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
193
eb18f6cc
PE
194 * xmenu.c (menu_help_callback): Pointer type fixes.
195 Use const pointers when pointing at readonly data. Avoid pointer
196 signedness clashes.
197 (FALSE): Remove unused macro.
198 (update_frame_menubar): Remove unused decl.
199
1fe72bf8
PE
200 * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
201
60d9e1db
PE
202 * menu.c (push_submenu_start, push_submenu_end): Do not define unless
203 USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
204 (single_menu_item): Rename local to avoid shadowing.
205
39261c26
PE
206 * keyboard.c (make_lispy_event): Remove unused local var.
207
018c5e19
PE
208 * frame.c, frame.h (x_get_resource_string): Bring this back, but
209 only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
210
63d2b86e
PE
211 * bitmaps: Change bitmaps from unsigned char back to the X11
212 compatible char. Avoid the old compiler warnings about
213 out-of-range initializers by using, for example, '\xab' rather
214 than 0xab.
215
aefd87e1
PE
216 * xgselect.c (xgselect_initialize): Check vs interface
217 even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
218
bf501fb9
PE
219 * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
220
e9829fdf
PE
221 * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
222 to read-only memory.
223
1086c095
PE
224 * fns.c (vector): Remove; this old hack is no longer needed.
225
2baccd04 226 * xsmfns.c (create_client_leader_window): Rename shadowing arg.
401f10cb 227 Remove unused var.
dde42981 228 (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
2baccd04 229
72391843 230 * xrdb.c (x_load_resources): Omit unused local.
3565b346 231
436c16df 232 * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
8a94ea33 233 (x_window): Rename locals to avoid shadowing.
dc5ddd85 234 (USG): Use the kludged USG macro, to pacify gcc.
436c16df 235
92bb796d 236 * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
bbbef9e1 237 (x_term_init): Remove local to avoid shadowing.
92bb796d 238
764430a3 239 * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
4887c6e2
PE
240
241 * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
242 USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
243
d1dfb56c
EZ
2442011-04-16 Eli Zaretskii <eliz@gnu.org>
245
c4354cb4
EZ
246 * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
247
d1dfb56c
EZ
248 Fix regex.c, syntax.c and friends for buffers > 2GB.
249 * syntax.h (struct gl_state_s): Declare character position members
250 EMACS_INT.
251
252 * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
253
254 * textprop.c (verify_interval_modification, interval_of): Declare
255 arguments EMACS_INT.
256
257 * intervals.c (adjust_intervals_for_insertion): Declare arguments
258 EMACS_INT.
259
260 * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
261
262 * indent.c (Fvertical_motion): Local variable it_start is now
263 EMACS_INT.
264
265 * regex.c (re_match, re_match_2, re_match_2_internal)
266 (bcmp_translate, regcomp, regexec, print_double_string)
267 (group_in_compile_stack, re_search, re_search_2, regex_compile)
268 (re_compile_pattern, re_exec): Declare arguments and local
269 variables `size_t' and `ssize_t' and return values `regoff_t', as
270 appropriate.
271 (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
272 (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
273 <compile_stack_type>: `size' and `avail' are now `size_t'.
274
275 * regex.h <regoff_t>: Use ssize_t, not int.
276 (re_search, re_search_2, re_match, re_match_2): Arguments that
277 specify buffer/string position and length are now ssize_t and
278 size_t. Return type is regoff_t.
279
613052cd
BK
2802011-04-16 Ben Key <bkey76@gmail.com>
281
282 * nsfont.m: Fixed bugs in ns_get_family and
283 ns_descriptor_to_entity that were caused by using free to
284 deallocate memory blocks that were allocated by xmalloc (via
285 xstrdup). This caused Emacs to crash when compiled with
286 XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
287 --enable-checking=xmallocoverrun). xfree is now used to
288 deallocate these memory blocks.
289
4170f62f 2902011-04-15 Paul Eggert <eggert@cs.ucla.edu>
3e047f51 291
71b41406
PE
292 * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
293
9587a89d
PE
294 emacs_write: Accept and return EMACS_INT for sizes.
295 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
296 et seq.
297 * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
298 Accept and return EMACS_INT.
299 (emacs_gnutls_write): Return the number of bytes written on
300 partial writes.
301 * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
273a5f82
PE
302 (emacs_read, emacs_write): Remove check for negative size, as the
303 Emacs source code has been audited now.
9587a89d
PE
304 * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
305 (emacs_read, emacs_write): Use it.
273a5f82
PE
306 * process.c (send_process): Adjust to the new signatures of
307 emacs_write and emacs_gnutls_write. Do not attempt to store
308 a byte offset into an 'int'; it might overflow.
9587a89d 309 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
273a5f82 310
3e047f51
PE
311 * sound.c: Don't assume sizes fit in 'int'.
312 (struct sound_device.period_size, alsa_period_size):
9c3c56a7 313 Return EMACS_INT, not int.
3e047f51 314 (struct sound_device.write, vox_write, alsa_write):
9c3c56a7
PE
315 Accept EMACS_INT, not int.
316 (wav_play, au_play): Use EMACS_INT to store sizes and to
3e047f51
PE
317 record read return values.
318
cc39a9db
BK
3192011-04-15 Ben Key <bkey76@gmail.com>
320
c9d0ec6d
JB
321 * keyboard.c (Qundefined): Don't declare static since it is used
322 in nsfns.m.
323 * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
324 static since they are used in nsfont.m.
cc39a9db 325
6c60eb9f
SM
3262011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
327
328 * process.c (Qprocessp): Don't declare static.
329 * lisp.h (Qprocessp): Declare again.
330
7990b61a
JB
3312011-04-15 Juanma Barranquero <lekktu@gmail.com>
332
333 * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
334
5d4cb038
PE
3352011-04-14 Paul Eggert <eggert@cs.ucla.edu>
336
8bd7b830 337 Improve C-level modularity by making more things 'static'.
cd64ea1d 338
e3b27b31
PE
339 Don't publish debugger-only interfaces to other modules.
340 * lisp.h (safe_debug_print, debug_output_compilation_hack):
341 (verify_bytepos, count_markers): Move decls to the only modules
342 that need them.
343 * region-cache.h (pp_cache): Likewise.
344 * window.h (check_all_windows): Likewise.
345 * marker.c, print.c, region-cache.c, window.c: Decls moved here.
346
5d4cb038
PE
347 * sysdep.c (croak): Now static, if
348 defined TIOCNOTTY || defined USG5 || defined CYGWIN.
349 * syssignal.h (croak): Declare only if not static.
69003fd8
PE
350
351 * alloc.c (refill_memory_reserve): Now static if
352 !defined REL_ALLOC || defined SYSTEM_MALLOC.
353 * lisp.h (refill_memory_reserve): Declare only if not static.
93ea6e8f 354
e87b6180
PE
355 * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
356 Define only if USE_LUCID.
357
ac64929e
PE
358 * xrdb.c (x_customization_string, x_rm_string): Now static.
359
6f37259d
PE
360 * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
361 * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
362
1683e3ab
PE
363 * xdisp.c (draw_row_with_mouse_face): Now static.
364 * dispextern.h (draw_row_with_mouse_fave): Remove decl.
365
de9c2632
PE
366 * window.h (check_all_windows): Mark externally visible.
367
2b96acb7
PE
368 * window.c (window_deletion_count): Now static.
369
370 * undo.c: Make symbols static if they're not exported.
371 (last_undo_buffer, last_boundary_position, pending_boundary):
372 Now static.
373
50436f33
PE
374 * textprop.c (interval_insert_behind_hooks): Now static.
375 (interval_insert_in_front_hooks): Likewise.
376
64520e5c
PE
377 * term.c: Make symbols static if they're not exported.
378 (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
379 (max_frame_lines, tty_set_terminal_modes):
380 (tty_reset_terminal_modes, tty_turn_off_highlight):
381 (get_tty_terminal): Now static.
382 (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
383 * termhooks.h (term_mouse_moveto): Do not declare if
8bd7b830 384 HAVE_WINDOW_SYSTEM.
64520e5c
PE
385 * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
386 (tty_turn_off_highlight, get_tty_terminal): Remove decls.
387
1fa53021
PE
388 * sysdep.c: Make symbols static if they're not exported.
389 (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
390 Now static.
391 (sigprocmask_set, full_mask): Remove; unused.
392 (wait_debugging): Mark as visible.
393 * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
394 * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
395
d4b43b22
PE
396 * syntax.c (syntax_temp): Define only if !__GNUC__.
397
b7c513d0
PE
398 * sound.c (current_sound_device, current_sound): Now static.
399
989b29ad
PE
400 * search.c (searchbufs, searchbuf_head): Now static.
401
13a55a78
PE
402 * scroll.c (scroll_cost): Remove; unused.
403 * dispextern.h (scroll_cost): Remove decl.
404
de68a1fc
PE
405 * region-cache.h (pp_cache): Mark as externally visible.
406
40ccffa6
PE
407 * process.c: Make symbols static if they're not exported.
408 (process_tick, update_tick, create_process, chan_process):
409 (Vprocess_alist, proc_buffered_char, datagram_access):
410 (fd_callback_data, send_process_frame, process_sent_to): Now static.
411 (deactivate_process): Mark defn as static, as well as decl.
412 * lisp.h (create_process): Remove decl.
413 * process.h (chan_process, Vprocess_alist): Remove decls.
414
ad64fc97
PE
415 * print.c: Make symbols static if they're not exported.
416 (print_depth, new_backquote_output, being_printed, print_buffer):
417 (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
418 (print_interval, print_number_index, initial_stderr_stream):
419 Now static.
420 * lisp.h (Fprinc): Remove decl.
421 (debug_output_compilation_hack): Mark as externally visible.
422
adddb265
PE
423 * sysdep.c (croak): Move decl from here to syssignal.h.
424 * syssignal.h (croak): Put it here, so the API can be checked when
425 'croak' is called from dissociate_if_controlling_tty.
426
1717ede2
PE
427 * minibuf.c: Make symbols static if they're not exported.
428 (minibuf_save_list, choose_minibuf_frame): Now static.
429 * lisp.h (choose_minibuf_frame): Remove decl.
430
fa5fb2bc
PE
431 * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
432
1e3890d1
PE
433 * lread.c: Make symbols static if they're not exported.
434 (read_objects, initial_obarray, oblookup_last_bucket_number):
435 Now static.
436 (make_symbol): Remove; unused.
437 * lisp.h (initial_obarray, make_symbol): Remove decls.
438
8a1414fa
PE
439 * keyboard.c: Make symbols static if they're not exported.
440 (single_kboard, recent_keys_index, total_keys, recent_keys):
441 (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
442 (this_single_command_key_start, echoing, last_auto_save):
443 (read_key_sequence_cmd, dribble, recursive_edit_unwind):
444 (command_loop, echo_now, keyboard_init_hook, help_char_p):
445 (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
446 (Vlispy_mouse_stem, double_click_count):
447 Now static.
448 (force_auto_save_soon): Define only if SIGDANGER.
449 (ignore_mouse_drag_p): Now static if
450 !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
451 (print_help): Remove; unused.
452 (stop_character, last_timer_event): Mark as externally visible.
453 * keyboard.h (ignore_mouse_drag_p): Declare only if
454 defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
455 (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
456 * lisp.h (echoing): Remove decl.
457 (force_auto_save_soon): Declare only if SIGDANGER.
458 * xdisp.c (redisplay_window): Simplify code, to make it more
459 obvious that ignore_mouse_drag_p is not accessed if !defined
460 USE_GTK && !defined HAVE_NS.
461
93ea6e8f
PE
462 * intervals.c: Make symbols static if they're not exported.
463 (merge_properties_sticky, merge_interval_right, delete_interval):
464 Now static.
465 * intervals.h (merge_interval_right, delete_interval): Remove decls.
466
77382fcc
PE
467 * insdel.c: Make symbols static if they're not exported.
468 However, leave prepare_to_modify_buffer alone. It's never
469 called from outside this function, but that appears to be a bug.
470 (combine_after_change_list, combine_after_change_buffer):
4889fc82 471 (adjust_after_replace, signal_before_change): Now static.
77382fcc
PE
472 (adjust_after_replace_noundo): Remove; unused.
473 * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
4889fc82 474 (signal_before_change): Remove decls.
77382fcc 475
9306c32e
PE
476 * indent.c (val_compute_motion, val_vmotion): Now static.
477
cd44d2eb
PE
478 * image.c: Make symbols static if they're not exported.
479 * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
480 if USE_GTK.
481 * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
482 (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
483
ad9a7a06
PE
484 * fringe.c (standard_bitmaps): Now static.
485 (max_used_fringe_bitmap): Now static, unless HAVE_NS.
486
81626931
PE
487 * frame.c: Make symbols static if they're not exported.
488 (x_report_frame_params, make_terminal_frame): Now static.
489 (get_frame_param): Now static, unless HAVE_NS.
490 (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
491 (x_get_resource_string): Remove; not used.
492 * frame.h (make_terminal_frame, x_report_frame_params):
493 (x_get_resource_string); Remove decls.
494 (x_fullscreen_adjust): Declare only if WINDOWSNT.
495 * lisp.h (get_frame_param): Declare only if HAVE_NS.
496
239f9db9
PE
497 * font.c, fontset.c: Make symbols static if they're not exported.
498 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
499 (FACE_SUITABLE_FOR_CHAR_P): Use it.
500 * font.c (font_close_object): Now static.
501 * font.h (font_close_object): Remove.
502 * fontset.c (FONTSET_OBJLIST): Remove.
503 (free_realized_fontset) #if-0 the body, which does nothing.
504 (face_suitable_for_char_p): #if-0, as it's never called.
505 * fontset.h (face_suitable_for_char_p): Remove decl.
506 * xfaces.c (face_at_string_position): Use
507 FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
508 since 0 is always ASCII.
509
dfcf3579
PE
510 * fns.c (weak_hash_tables): Now static.
511
5045092b
PE
512 * fileio.c: Make symbols static if they're not exported.
513 (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
514 (Vwrite_region_annotation_buffers): Now static.
515
57a96f5c
PE
516 * eval.c: Make symbols static if they're not exported.
517 (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
518 * lisp.h (backtrace_list): Remove decl.
519
35f08c38
PE
520 * emacs.c: Make symbols static if they're not exported.
521 (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
522 (fatal_error_code, fatal_error_signal_hook, standard_args):
523 Now static.
524 (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
525 (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
526 (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
527 * lisp.h (fatal_error_signal_hook): Remove decl.
528 (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
529
f44bd759
PE
530 * editfns.c: Move a (normally-unused) function to its only use.
531 * editfns.c, lisp.h (get_operating_system_release): Remove.
532 * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
533 worth the hassle of breaking this out.
534
b532497d
PE
535 * xterm.c: Make symbols static if they're not exported.
536 (x_raise_frame, x_lower_frame, x_wm_set_window_state):
537 (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
538 (x_destroy_window, x_delete_display):
539 Now static.
540 (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
541 (x_mouse_leave): Remove; unused.
542 * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
543 (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
544 (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
545 Remove decls.
546 (x_mouse_leave): Declare only if WINDOWSNT.
547 (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
548 (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
549 USE_X_TOOLKIT.
550
1675728f
PE
551 * ftxfont.c: Make symbols static if they're not exported.
552 (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
553 HAVE_FREETYPE.
554 * font.h (ftxfont_driver): Likewise.
555
e4cebfca
PE
556 * xfns.c: Make symbols static if they're not exported.
557 (x_last_font_name, x_display_info_for_name):
558 (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
559 (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
560 (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
561 (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
562 (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
563 (last_show_tip_args): Now static.
564 (xic_defaut_fontset, xic_create_fontsetname): Define only if
565 defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
566 (x_screen_planes): Remove; unused.
567 * dispextern.h (x_screen_planes): Remove decl.
568
5bf46f05
PE
569 * dispnew.c: Make symbols static if they're not exported.
570 * dispextern.h (redraw_garbaged_frames, scrolling):
571 (increment_row_positions): Remove.
572 * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
573 (delayed_size_change, glyph_matrix_count, glyph_pool_count):
574 Now static.
575 (redraw_garbaged_frames): Remove; unused.
576
435f4c28
PE
577 * xfaces.c: Make symbols static if they're not exported.
578 * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
579 Remove decls.
580 * xterm.h (defined_color): Remove decls.
581 (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
582 * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
583 (menu_face_changed_default, defined_color, free_realized_face):
584 (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
585 (ascii_face_of_lisp_face): Remove; unused.
586
8524aef3
PE
587 * xdisp.c: Make symbols static if they're not exported.
588 * dispextern.h (scratch_glyph_row, window_box_edges):
589 (glyph_to_pixel_coords, set_cursor_from_row):
590 (get_next_display_element, set_iterator_to_next):
591 (highlight_trailing_whitespace, frame_to_window_pixel_xy):
592 (show_mouse_face): Remove decls
593 * frame.h (message_buf_print): Likewise.
594 * lisp.h (pop_message, set_message, check_point_in_composition):
595 Likewise.
596 * xterm.h (set_vertical_scroll_bar): Likewise.
597 * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
598 (message_buf_print, scratch_glyph_row, displayed_buffer):
599 (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
600 (get_next_display_element, show_mouse_face, window_box_edges):
601 (frame_to_window_pixel_xy, check_point_in_composition):
602 (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
603 (glyph_to_pixel_coords): Remove; unused.
604
16390cd2
PE
605 * dired.c (file_name_completion): Now static.
606
607 * dbusbind.c (xd_in_read_queued_messages): Now static.
608
a25f4dfa
PE
609 * lisp.h (circular_list_error, FOREACH): Remove; unused.
610 * data.c (circular_list_error): Remove.
611
14a9c8df
PE
612 * commands.h (last_point_position, last_point_position_buffer):
613 (last_point_position_window): Remove decls.
614 * keyboard.c: Make these variables static.
615
74ab6df5
PE
616 * coding.h (coding, code_convert_region, encode_coding_gap): Remove
617 decls.
618 * coding.c (Vsjis_coding_system, Vbig5_coding_system):
619 (iso_code_class, detect_coding, code_convert_region): Now static.
620 (encode_coding_gap): Remove; unused.
621
38dfbee1
PE
622 * chartab.c (chartab_chars, chartab_bits): Now static.
623
a2cb4e63
PE
624 * charset.h (charset_iso_8859_1): Remove decl.
625 * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
626 Now static.
627
127198fd
PE
628 * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
629 * ccl.c (Vccl_program_table): Now static.
630 (check_ccl_update): Remove; unused.
631
d85b608f
PE
632 * category.c (SET_CATEGORY_SET, set_category_set): Move here.
633 * category.h: ... from here.
634 * category.c (check_category_table, set_category_set): Now static.
635
31cd66f3
PE
636 * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
637 * lisp.h: Remove these decls.
638
c358e587
PE
639 * buffer.c (buffer_count): Remove unused var.
640
e78aecca
PE
641 * bidi.c (bidi_dump_cached_states): Mark as externally visible,
642 so that it's not optimized away.
643 (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
644 * dispextern.h (bidi_dump_cached_states): Remove, since it's
645 exported only to the debugger.
646
e192d7d3
PE
647 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
648 * atimer.h (run_all_atimers): Removed; not exported.
649
92470028
PE
650 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
651 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
652 was inaccessible from Lisp.
653 (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
654 * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
655
244ed907
PE
656 alloc.c: Import and export fewer symbols, and remove unused items.
657 * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
658 is defined.
659 (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
660 it's not optimized away by whole-program optimization.
661 (message_enable_multibyte, free_misc): Remove.
662 (catchlist, handlerlist, mark_backtrace):
663 Declare only if BYTE_MARK_STACK.
664 (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
665 * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
666 (message_enable_multibyte): Remove decl.
667 (free_misc, interval_free_list, float_block, float_block_index):
668 (n_float_blocks, float_free_list, cons_block, cons_block_index):
669 (cons_free_list, last_marked_index):
670 Now static.
671 (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
672 * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
673 (mark_backtrace): Define only if BYTE_MARK_STACK.
674 * xdisp.c (message_enable_multibyte): Now static.
675
61c2b50e 676 Declare Lisp_Object Q* variables to be 'static' if not exported.
955cbe7b
PE
677 This makes it easier for human readers (and static analyzers)
678 to see whether these variables are used from other modules.
679 * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
680 * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
681 * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
682 * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
683 * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
684 * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
685 * xmenu.c, xselect.c:
686 Declare Q* vars static if they are not used in other modules.
687 * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
688 * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
689 Remove decls of unexported vars.
690 * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
691
95c82688
PE
692 * lisp.h (DEFINE_FUNC): Make sname 'static'.
693
16a97296
PE
694 Make Emacs functions such as Fatom 'static' by default.
695 This makes it easier for human readers (and static analyzers)
696 to see whether these functions can be called from other modules.
697 DEFUN now defines a static function. To make the function external
698 so that it can be used in other C modules, use the new macro DEFUE.
8bd7b830
PE
699 * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
700 (Finit_image_library):
16a97296
PE
701 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
702 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
703 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
704 Remove decls, since these functions are now static.
705 (Funintern, Fget_internal_run_time): New decls, since these functions
706 were already external.
95c82688 707
16a97296
PE
708 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
709 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
710 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
711 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
712 * keyboard.c, keymap.c, lread.c:
713 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
714 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
715 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
716 Mark functions with DEFUE instead of DEFUN,
717 if they are used in other modules.
718 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
719 decls for now-static functions.
720 * buffer.h (Fdelete_overlay): Remove decl.
721 * callproc.c (Fgetenv_internal): Mark as internal.
722 * composite.c (Fremove_list_of_text_properties): Remove decl.
723 (Fcomposition_get_gstring): New forward static decl.
724 * composite.h (Fcomposite_get_gstring): Remove decl.
725 * dired.c (Ffile_attributes): New forward static decl.
726 * doc.c (Fdocumntation_property): New forward static decl.
727 * eval.c (Ffetch_bytecode): New forward static decl.
728 (Funintern): Remove extern decl; now in .h file where it belongs.
729 * fileio.c (Fmake_symbolic_link): New forward static decl.
730 * image.c (Finit_image_library): New forward static decl.
731 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
732 * intervals.h (Fprevious_property_change):
733 (Fremove_list_of_text_properties): Remove decls.
734 * keyboard.c (Fthis_command_keys): Remove decl.
735 (Fcommand_execute): New forward static decl.
736 * keymap.c (Flookup_key): New forward static decl.
737 (Fcopy_keymap): Now static.
738 * keymap.h (Flookup_key): Remove decl.
739 * process.c (Fget_process): New forward static decl.
740 (Fprocess_datagram_address): Mark as internal.
741 * syntax.c (Fsyntax_table_p): New forward static decl.
742 (skip_chars): Remove duplicate decl.
743 * textprop.c (Fprevious_property_change): New forward static decl.
744 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
745 Now internal.
746 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
747 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
748
785bbd42
PE
749 * editfns.c (Fformat): Remove unreachable code.
750
8b913b57
AS
7512011-04-14 Andreas Schwab <schwab@linux-m68k.org>
752
753 * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
754 change. (Bug#8496)
755
a6744a35
EZ
7562011-04-13 Eli Zaretskii <eliz@gnu.org>
757
758 * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
759 when at ZV. (Bug#8487)
760
e7974947
AS
7612011-04-12 Andreas Schwab <schwab@linux-m68k.org>
762
baad03f0
AS
763 * charset.c (Fclear_charset_maps): Use xfree instead of free.
764 (Bug#8437)
765 * keyboard.c (parse_tool_bar_item): Likewise.
766 * sound.c (sound_cleanup, alsa_close): Likewise.
767 * termcap.c (tgetent): Likewise.
768 * xfns.c (x_default_font_parameter): Likewise.
769 * xsettings.c (read_and_apply_settings): Likewise.
770
e7974947
AS
771 * alloc.c (overrun_check_malloc, overrun_check_realloc)
772 (overrun_check_free): Protoize.
773
28272684
PE
7742011-04-12 Paul Eggert <eggert@cs.ucla.edu>
775
776 * sysdep.c (emacs_read, emacs_write): Check for negative sizes
777 since callers should never pass a negative size.
778 Change the signature to match that of plain 'read' and 'write'; see
779 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
780 * lisp.h: Update prototypes of emacs_write and emacs_read.
781
11997c76
EZ
7822011-04-11 Eli Zaretskii <eliz@gnu.org>
783
784 * xdisp.c (redisplay_window): Don't try to determine the character
785 position of the scroll margin if the window start point w->startp
e896f03c 786 is outside the buffer's accessible region. (Bug#8468)
11997c76 787
8a2cbd72
EZ
7882011-04-10 Eli Zaretskii <eliz@gnu.org>
789
790 Fix write-region and its subroutines for buffers > 2GB.
791 * fileio.c (a_write, e_write): Modify declaration of arguments and
792 local variables to support buffers larger than 2GB.
793 (Fcopy_file): Use EMACS_INT for return value of emacs_read.
794
795 * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
796 argument, local variables, and return value.
797
798 * lisp.h: Update prototypes of emacs_write and emacs_read.
799
800 * sound.c (vox_write): Use ssize_t for return value of emacs_write.
801
4073e537 8022011-04-10 Paul Eggert <eggert@cs.ucla.edu>
eb3f1cc8 803
1ebfdcb6
PE
804 * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
805
b2ded58d
PE
806 Fix more problems found by GCC 4.6.0's static checks.
807
7d66342c
PE
808 * xdisp.c (vmessage): Use a better test for character truncation.
809
bbf47d44
PE
810 * charset.c (load_charset_map): <, not <=, for optimization,
811 and to avoid potential problems with integer overflow.
9248994d 812 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
f9a68bc5 813 * casetab.c (set_identity, shuffle): Likewise.
3ab1c7ce 814 * editfns.c (Fformat): Likewise.
1e69125e 815 * syntax.c (skip_chars): Likewise.
3befa583 816
e3019616
PE
817 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
818 This also lets GCC 4.6.0 generate slightly better loop code.
819
becfa255
PE
820 * callint.c (Fcall_interactively): <, not <=, for optimization.
821 (Fcall_interactively): Count the number of arguments produced,
822 not the number of arguments given. This is simpler and lets GCC
823 4.6.0 generate slightly better code.
824
dae0cd48
PE
825 * ftfont.c: Distingish more carefully between FcChar8 and char.
826 The previous code passed unsigned char * to a functions like
827 strlen and xstrcasecmp that expect char *, which does not
828 conform to the C standard.
829 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
830 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
831 char * when the C standard requires it.
832
76032d70
PE
833 * keyboard.c (read_char): Remove unused var.
834
eb3f1cc8
PE
835 * eval.c: Port to Windows vsnprintf (Bug#8435).
836 Include <limits.h>.
837 (SIZE_MAX): Define if the headers do not.
838 (verror): Do not give up if vsnprintf returns a negative count.
839 Instead, grow the buffer. This ports to Windows vsnprintf, which
840 does not conform to C99. Problem reported by Eli Zaretskii.
841 Also, simplify the allocation scheme, by avoiding the need for
842 calling realloc, and removing the ALLOCATED variable.
843
70476b54
PE
844 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
845
12020a9e
PE
846 Remove invocations of doprnt, as Emacs now uses vsnprintf.
847 But keep the doprint source code for now, as we might revamp it
848 and use it again (Bug#8435).
ea6c7ae6
PE
849 * lisp.h (doprnt): Remove.
850 * Makefile.in (base_obj): Remove doprnt.o.
851 * deps.mk (doprnt.o): Remove.
852
5fdb398c
PE
853 error: Print 32- and 64-bit integers portably (Bug#8435).
854 Without this change, on typical 64-bit hosts error ("...%d...", N)
855 was used to print both 32- and 64-bit integers N, which relied on
856 undefined behavior.
857 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
858 New macro.
859 * lisp.h (error, verror): Mark as printf-like functions.
860 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
861 Report overflow in size calculations when allocating printf buffer.
862 Do not truncate output string at its first null byte.
863 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
864 Truncate the output at a character boundary, since vsnprintf does not
865 do that.
866 * charset.c (check_iso_charset_parameter): Convert internal
867 character to string before calling 'error', since %c now has the
868 printf meaning.
869 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
870 overflow when computing char to be passed to 'error'. Do not
871 pass Lisp_Object to 'error'; pass the integer instead.
872 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
873 formatted with plain %d.
874
b189fa66
PE
875 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
876
bff87ef0
PE
877 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
878
7e2cac20
PE
879 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
880
ce4d90b5
PE
881 * xterm.c (x_catch_errors): Remove duplicate declaration.
882
266c9547
PE
883 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
884
79c49ad2
PE
885 * xdisp.c, lisp.h (message_nolog): Remove; unused.
886
368f4090
JM
8872011-04-10 Jim Meyering <meyering@redhat.com>
888
889 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
890 * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
891 return ssize_t not "int", and use size_t as the buffer length.
892 (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
893 * gnutls.h: Update declarations.
894 * process.c (read_process_output): Use ssize_t, to match.
895 (send_process): Likewise.
896
a32d4040
CY
8972011-04-09 Chong Yidong <cyd@stupidchicken.com>
898
899 * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
900
8546720e 9012011-04-09 Chong Yidong <cyd@stupidchicken.com>
aac0c6e3 902
8546720e
GM
903 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
904 unsigned char, to match FcChar8 type definition.
aac0c6e3 905
8546720e
GM
906 * xterm.c (handle_one_xevent):
907 * xmenu.c (create_and_show_popup_menu):
908 * xselect.c (x_decline_selection_request)
909 (x_reply_selection_request): Avoid type-punned deref of X events.
aac0c6e3 910
0a2f5c1a 9112011-04-09 Eli Zaretskii <eliz@gnu.org>
a53e2e89
EZ
912
913 Fix some uses of `int' instead of EMACS_INT.
914 * search.c (string_match_1, fast_string_match)
915 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
916 (scan_buffer, find_next_newline_no_quit)
917 (find_before_next_newline, search_command, Freplace_match)
918 (Fmatch_data): Make some `int' variables be EMACS_INT.
919
920 * xdisp.c (display_count_lines): 3rd argument and return value now
921 EMACS_INT. All callers changed.
922 (pint2hrstr): Last argument is now EMACS_INT.
923
924 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
925 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
926 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
927 (decode_coding_utf_16, decode_coding_emacs_mule)
928 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
929 (decode_coding_ccl, decode_coding_charset)
930 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
931 (decode_coding_iso_2022, decode_coding_emacs_mule)
932 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
933 <char_offset, last_offset>: Declare EMACS_INT.
934 (encode_coding_utf_8, encode_coding_utf_16)
935 (encode_coding_emacs_mule, encode_invocation_designation)
936 (encode_designation_at_bol, encode_coding_iso_2022)
937 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
938 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
939 Declare EMACS_INT.
940 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
941 (encode_invocation_designation): Last argument P_NCHARS is now
942 EMACS_INT.
943 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
944 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
945
946 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
947 All users changed.
948
949 * ccl.c (Fccl_execute_on_string): Declare some variables
950 EMACS_INT.
951
8546720e 9522011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
0080dc6b
SS
953
954 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
955
4e19a977
CS
9562011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
957
958 * process.c (Fformat_network_address): Doc fix.
959
87302331
R
9602011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
961
962 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
963
cbb59342
CY
9642011-04-08 Chong Yidong <cyd@stupidchicken.com>
965
966 * keyboard.c (read_char): Call Lisp function help-form-show,
967 instead of using internal_with_output_to_temp_buffer.
968 (Qhelp_form_show): New var.
e0d38eeb 969 (syms_of_keyboard): Use DEFSYM macro.
cbb59342
CY
970
971 * print.c (internal_with_output_to_temp_buffer): Function deleted.
972
973 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
974
e67a13ab
CY
9752011-04-06 Chong Yidong <cyd@stupidchicken.com>
976
977 * process.c (Flist_processes): Removed to Lisp.
978 (list_processes_1): Deleted.
979
973f782d
EZ
9802011-04-06 Eli Zaretskii <eliz@gnu.org>
981
7c106b1e
EZ
982 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
983
973f782d
EZ
984 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
985
41cf7d1a 9862011-04-06 Paul Eggert <eggert@cs.ucla.edu>
27ccc379 987
ca23cc88
PE
988 Fix more problems found by GCC 4.6.0's static checks.
989
f390e2d5
PE
990 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
991
42eea0d0
PE
992 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
993
b69769da 994 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
1e973bc7 995
f9541e84
PE
996 * xdisp.c (vmessage): Mark as a printf-like function.
997
13841b55
PE
998 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
999
c136c10f
PE
1000 * sound.c (sound_warning): Don't crash if arg contains a printf format.
1001
5e2d4a30
PE
1002 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
1003 printf-like functions.
1004 (tiff_load): Add casts to remove these marks before passing them
1005 to system-supplied API.
1006
583f48b9
PE
1007 * eval.c (Fsignal): Remove excess argument to 'fatal'.
1008
b25d760e
PE
1009 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
1010 This avoids several warnings with gcc -Wstrict-overflow.
d5efd1d1
PE
1011 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
1012 directly, rather than having caller test rule sign. This avoids
1013 some unnecessary tests.
1014 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
1015 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
1016 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
b25d760e 1017
bc7b6697 1018 * xfont.c (xfont_text_extents): Remove var that was set but not used.
625a3eb1 1019 (xfont_open): Avoid unnecessary tests.
bc7b6697 1020
27ccc379
PE
1021 * composite.c (composition_gstring_put_cache): Use unsigned integer.
1022
dcd5c89a
PE
1023 * composite.h, composite.c (composition_gstring_put_cache):
1024 Use EMACS_INT, not int, for length.
1025
b13a45c6
PE
1026 * composite.h (COMPOSITION_DECODE_REFS): New macro,
1027 breaking out part of COMPOSITION_DECODE_RULE.
1028 (COMPOSITION_DECODE_RULE): Use it.
1029 * composite.c (get_composition_id): Remove unused local vars,
1030 by using the new macro.
1031
1e792e4d
PE
1032 * textprop.c (set_text_properties_1): Change while to do-while,
1033 since the condition is always true at first.
1034
dc6c6455 1035 * intervals.c (graft_intervals_into_buffer): Mark var as used.
aa86731f
PE
1036 (interval_deletion_adjustment): Return unsigned value.
1037 All uses changed.
dc6c6455 1038
aba7731a
PE
1039 * process.c (list_processes_1, create_pty, read_process_output):
1040 (exec_sentinel): Remove vars that were set but not used.
afd4052b 1041 (create_pty): Remove unnecessary "volatile"s.
bc57d757 1042 (Fnetwork_interface_info): Avoid possibility of int overflow.
82eaa333 1043 (read_process_output): Do adaptive read buffering even if carryover.
fe07cdfa 1044 (read_process_output): Simplify nbytes computation if buffered.
aba7731a 1045
fdfc4bf3
PE
1046 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
1047
fca8fe46 1048 * syntax.c (scan_words): Remove var that was set but not used.
12cbf13f 1049 (update_syntax_table): Use unsigned instead of int.
fca8fe46 1050
06a0259a 1051 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
3c346cc3 1052 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
e6eb4e9e 1053 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
06a0259a 1054
e7b9e80f
PE
1055 * print.c (print_error_message): Avoid int overflow.
1056
56201685
PE
1057 * font.c (font_list_entities): Redo for clarity,
1058 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
1059
78834453 1060 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
790771b1 1061 (font_score): Avoid potential overflow in diff calculation.
78834453 1062
0bc0b309 1063 * fns.c (substring_both): Remove var that is set but not used.
8cd55cb4 1064 (sxhash): Redo loop for clarity and to avoid wraparound warning.
0bc0b309 1065
e610eaca
PE
1066 * eval.c (funcall_lambda): Rename local to avoid shadowing.
1067
b895abce
PE
1068 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
1069 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
1070 can always succeed if overflow has undefined behavior.
1071
1f1d9321 1072 * search.c (boyer_moore, wordify): Remove vars set but not used.
6f076cc7 1073 (wordify): Omit three unnecessary tests.
1f1d9321 1074
c59478bc
PE
1075 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
1076 All callers changed. This avoids the need for an unused var.
1077
79b73827
PE
1078 * casefiddle.c (casify_region): Remove var that is set but not used.
1079
a4db5dfe
PE
1080 * dired.c (file_name_completion): Remove var that is set but not used.
1081
43aae36e
PE
1082 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
1083
2a47c44d 1084 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
163c5f32 1085 (Finsert_file_contents): Remove unnecessary code checking fd.
2a47c44d 1086
a37c69bf
PE
1087 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
1088 Check for integer overflow on size calculations.
1089
328ab8e7
PE
1090 * buffer.c (Fprevious_overlay_change): Remove var that is set
1091 but not used.
1092
e5a2a5cb
PE
1093 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
1094 Remove vars that are set but not used.
8d84a6eb 1095 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
6b043475 1096 (timer_check_2): Mark vars as initialized.
e5a2a5cb 1097
a60e5f68
PE
1098 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
1099
f661cb61 1100 * image.c (lookup_image): Remove var that is set but not used.
35fa624f 1101 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
f661cb61 1102
f0397f5a
PE
1103 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
1104 that are set but not used.
1105
8664db06 1106 * xfns.c (make_invisible_cursor): Don't return garbage
03733ee7 1107 if XCreateBitmapFromData fails (Bug#8410).
8664db06 1108
6abdaa4a
PE
1109 * xselect.c (x_get_local_selection, x_handle_property_notify):
1110 Remove vars that are set but not used.
1111
0ce7538d 1112 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
6abdaa4a 1113 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
0ce7538d 1114
9ae848fc
PE
1115 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
1116 Remove var that is set but not used.
0b918413
PE
1117 (scroll_bar_windows_size): Now size_t, not int.
1118 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
1119 Check for overflow.
9ae848fc 1120
a5a62657
PE
1121 * xfaces.c (realize_named_face): Remove vars that are set but not used.
1122 (map_tty_color) [!defined MSDOS]: Likewise.
1123
5c5cdd39
PE
1124 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
1125
66ebf983
PE
1126 * coding.c: Remove vars that are set but not used.
1127 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
1128 All callers changed.
1129 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
1130 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
1131 (decode_coding_charset): Remove vars that are set but not used.
1132
1be4d761
PE
1133 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
1134 that is set but not used.
1135
47553fa8
PE
1136 * print.c (print_object): Remove var that is set but not used.
1137
1f7196bf 1138 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
d1fdcab7
PE
1139 The gnulib version avoids calling malloc in the usual case,
1140 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
1141 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
1142 * filelock.c (current_lock_owner): Likewise.
1143 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
1144 * sysdep.c: Include allocator.h, careadlinkat.h.
1145 (emacs_no_realloc_allocator): New static constant.
1146 (emacs_readlink): New function.
fdb61804
PE
1147 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
1148 ../lib/careadlinkat.h.
d1fdcab7 1149
f84c17c7
SM
11502011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
1151
1152 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
1153 first non-nil return value).
1154
ef3862ad
JD
11552011-04-03 Jan Djärv <jan.h.d@swipnet.se>
1156
1157 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
1158 if not defined (Bug#8403).
1159
376a7006
JB
11602011-04-02 Juanma Barranquero <lekktu@gmail.com>
1161
1162 * xdisp.c (display_count_lines): Remove parameter `start',
1163 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1164 (get_char_face_and_encoding): Remove parameter `multibyte_p',
1165 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1166 (fill_stretch_glyph_string): Remove parameters `row' and `area',
1167 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
1168 and thereabouts. All callers changed.
1169 (get_per_char_metric): Remove parameter `f', unused since
1170 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
1171
6ca3801d
JM
11722011-04-02 Jim Meyering <meyering@redhat.com>
1173
1174 do not dereference NULL upon failed strdup
1175 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
1176 (ns_get_family): Likewise.
1177
d8e2b5ba
JB
11782011-04-02 Juanma Barranquero <lekktu@gmail.com>
1179
1180 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
1181
8c74fcbd
JD
11822011-04-02 Jan Djärv <jan.h.d@swipnet.se>
1183
1184 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
1185 later (Bug#8403).
1186
7200d79c
SM
11872011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
1188
03408648 1189 Add lexical binding.
7200d79c 1190
03408648
SM
1191 * window.c (Ftemp_output_buffer_show): New fun.
1192 (Fsave_window_excursion):
1193 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
1194
1195 * lread.c (lisp_file_lexically_bound_p): New function.
1196 (Fload): Bind Qlexical_binding.
1197 (readevalloop): Remove `evalfun' arg.
1198 Bind Qinternal_interpreter_environment.
1199 (Feval_buffer): Bind Qlexical_binding.
1200 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
1201 Mark as dynamic.
1202 (syms_of_lread): Declare `lexical-binding'.
1203
1204 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
1205
1206 * keyboard.c (eval_dyn): New fun.
1207 (menu_item_eval_property): Use it.
ca105506
SM
1208
1209 * image.c (parse_image_spec): Use Ffunctionp.
ca105506 1210
03408648
SM
1211 * fns.c (concat, mapcar1): Accept byte-code-functions.
1212
1213 * eval.c (Fsetq): Handle lexical vars.
1214 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
1215 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
1216 (FletX, Flet): Obey lexical binding.
1217 (Fcommandp): Handle closures.
1218 (Feval): New `lexical' arg.
1219 (eval_sub): New function extracted from Feval. Use it almost
1220 everywhere where Feval was used. Look up vars in lexical env.
1221 Handle closures.
1222 (Ffunctionp): Move from subr.el.
1223 (Ffuncall): Handle closures.
1224 (apply_lambda): Remove `eval_flags'.
1225 (funcall_lambda): Handle closures and new byte-code-functions.
1226 (Fspecial_variable_p): New function.
1227 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
1228 but without exporting it to Lisp.
23aba0ea 1229
23aba0ea 1230 * doc.c (Fdocumentation, store_function_docstring):
03408648 1231 * data.c (Finteractive_form): Handle closures.
23aba0ea 1232
03408648
SM
1233 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
1234 interactive spec.
ba83908c 1235
03408648
SM
1236 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
1237 byte-codes.
1238 (exec_byte_code): New function extracted from Fbyte_code to handle new
1239 calling convention for byte-code-functions. Add new byte-codes.
ba83908c 1240
03408648 1241 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
e2abe5a1 1242
03408648 1243 * alloc.c (Fmake_symbol): Init new `declared_special' field.
e2abe5a1 1244
e2abce01
JB
12452011-03-31 Juanma Barranquero <lekktu@gmail.com>
1246
1247 * xdisp.c (redisplay_internal): Fix prototype.
1248
63696a73 12492011-03-31 Eli Zaretskii <eliz@gnu.org>
09725d26 1250
63696a73
EZ
1251 * xdisp.c (SCROLL_LIMIT): New macro.
1252 (try_scrolling): Use it when setting scroll_limit. Limit
1253 scrolling to 100 screen lines.
1254 (redisplay_window): Even when falling back on "recentering",
1255 position point in the window according to scroll-conservatively,
1256 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
1257
1258 (try_scrolling): When point is above the window, allow searching
1259 as far as scroll_max, or one screenful, to compute vertical
1260 distance from PT to the scroll margin position. This prevents
1261 try_scrolling from unnecessarily failing when
1262 scroll-conservatively is set to a value slightly larger than the
1263 window height. Clean up the case of PT below the margin at bottom
1264 of window: scroll_max can no longer be INT_MAX. When aggressive
1265 scrolling is in use, don't let point enter the opposite scroll
1266 margin as result of the scroll.
1267 (syms_of_xdisp) <scroll-conservatively>: Document the
09725d26
EZ
1268 threshold of 100 lines for never-recentering scrolling.
1269
e4cc2dfc
JB
12702011-03-31 Juanma Barranquero <lekktu@gmail.com>
1271
1272 * dispextern.h (move_it_by_lines):
1273 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
1274 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
1275 (message_log_check_duplicate): Remove parameters `prev_bol' and
1276 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1277 (redisplay_internal): Remove parameter `preserve_echo_area',
1278 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
1279
1280 * indent.c (Fvertical_motion):
1281 * window.c (window_scroll_pixel_based, Frecenter):
1282 Don't pass `need_y_p' to `move_it_by_lines'.
1283
1c470562
SM
12842011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
1285
44f230aa
SM
1286 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
1287 steal a few bits to be more compact.
1288 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
1289 Remove unneeded casts.
1290
1c470562
SM
1291 * bytecode.c (Fbyte_code): CAR and CDR can GC.
1292
888adce9
ZK
12932011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
1294
1295 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
1296 binding" message (bug#7967).
1297
f838ed7b
PE
12982011-03-30 Paul Eggert <eggert@cs.ucla.edu>
1299
77861b95
PE
1300 Fix more problems found by GCC 4.6.0's static checks.
1301
de6dbc14
PE
1302 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
1303 Remove unused local var.
1304
f838ed7b
PE
1305 * editfns.c (Fmessage_box): Remove unused local var.
1306
792c7b2b
PE
1307 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
1308 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1309 Omit unused local vars.
c499e557 1310 * window.c (shrink_windows): Omit unused local var.
b01a1c29 1311 * menu.c (digest_single_submenu): Omit unused local var.
0bc32927
PE
1312 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
1313 Omit unused local var.
1314
ba0165e1
PE
1315 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
1316 Don't assume string length fits in int.
32ad8845 1317 (keyremap_step, read_key_sequence): Use size_t for sizes.
48011560 1318 (read_key_sequence): Don't check last_real_key_start redundantly.
ba0165e1 1319
3c59b4c9
PE
1320 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
1321 instead of alloca (Bug#8344).
1322
a3eed478 1323 * eval.c (Fbacktrace): Don't assume nargs fits in int.
5d5d959d 1324 (Fbacktrace_frame): Don't assume nframes fits in int.
a3eed478 1325
eb4d412d
PE
1326 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
1327
1658b401
PE
1328 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
1329 concerns.
1330
1331 * term.c (produce_glyphless_glyph): Remove unnecessary test.
1332
1333 * cm.c (calccost): Turn while-do into do-while, for clarity.
44f730c8 1334
9a2c6e05
PE
1335 * keyboard.c (syms_of_keyboard): Use the same style as later
1336 in this function when indexing through an array. This also
1337 works around GCC bug 48267.
1338
03d0a109
PE
1339 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
1340
44f730c8
PE
1341 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
1342
fe75f926
PE
1343 * chartab.c (sub_char_table_ref_and_range): Redo for slight
1344 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
1345
ffa8c828
PE
1346 * keyboard.c, keyboard.h (num_input_events): Now size_t.
1347 This avoids undefined behavior on integer overflow, and is a bit
1348 more convenient anyway since it is compared to a size_t variable.
1349
c5101a77
PE
1350 Variadic C functions now count arguments with size_t, not int.
1351 This avoids an unnecessary limitation on 64-bit machines, which
1352 caused (substring ...) to crash on large vectors (Bug#8344).
1353 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
1354 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
77861b95 1355 All variadic functions and their callers changed accordingly.
c5101a77
PE
1356 (struct gcpro.nvars): Now size_t, not int. All uses changed.
1357 * data.c (arith_driver, float_arith_driver): Likewise.
1358 * editfns.c (general_insert_function): Likewise.
1359 * eval.c (struct backtrace.nargs, interactive_p)
1360 (internal_condition_case_n, run_hook_with_args, apply_lambda)
1361 (funcall_lambda, mark_backtrace): Likewise.
1362 * fns.c (concat): Likewise.
1363 * frame.c (x_set_frame_parameters): Likewise.
1364 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
1365 0 if not found, not -1. All callers changed.
1366
dd3f25f7
PE
1367 * alloc.c (garbage_collect): Don't assume stack size fits in int.
1368 (stack_copy_size): Now size_t, not int.
1369 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
1370
461c2ab9
JB
13712011-03-28 Juanma Barranquero <lekktu@gmail.com>
1372
1373 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
1374 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1375 All callers changed.
1376
1377 * lisp.h (multibyte_char_to_unibyte):
1378 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
1379 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1380 * character.h (CHAR_TO_BYTE8):
1381 * cmds.c (internal_self_insert):
1382 * editfns.c (general_insert_function):
1383 * keymap.c (push_key_description):
1384 * search.c (Freplace_match):
1385 * xdisp.c (message_dolog, set_message_1): All callers changed.
1386
f6d62986
SM
13872011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1388
1389 * keyboard.c (safe_run_hook_funcall): New function.
1390 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
1391 don't set the hook to nil, but remove the offending function instead.
1392 (Qcommand_hook_internal): Remove, unused.
1393 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
1394 Vcommand_hook_internal.
1395
1396 * eval.c (enum run_hooks_condition): Remove.
1397 (funcall_nil, funcall_not): New functions.
1398 (run_hook_with_args): Call each function through a `funcall' argument.
1399 Remove `cond' argument, now redundant.
1400 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
1401 (Frun_hook_with_args_until_failure): Adjust accordingly.
1402 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
1403
1db5b1ad
JB
14042011-03-28 Juanma Barranquero <lekktu@gmail.com>
1405
1406 * dispextern.h (string_buffer_position): Remove declaration.
1407
1408 * print.c (strout): Remove parameter `multibyte', unused since
1409 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
1410
1411 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
1412 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
1413 All callers changed.
1414
1415 * w32.c (_wsa_errlist): Use braces for struct initializers.
1416
1417 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
1418 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
1419 All callers changed.
1420 (string_buffer_position): Likewise. Also, make static (it's never
1421 used outside xdisp.c).
1422 (cursor_row_p): Remove parameter `w', unused since
1423 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
1424 (decode_mode_spec): Remove parameter `precision', introduced during
1425 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
1426 All callers changed.
1427
5ffb62aa
JD
14282011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1429
1430 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
1431
461c2ab9 14322011-03-27 Anders Lindgren <andlind@gmail.com>
f0a1382a
JD
1433
1434 * nsterm.m (ns_menu_bar_is_hidden): New variable.
1435 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
1436 (ns_update_auto_hide_menu_bar): New functions.
1437 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
1438 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
1439 ns_constrain_all_frames.
1440 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
1441 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
1442
5c380ffb
JD
14432011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1444
1445 * nsmenu.m (runDialogAt): Remove argument to timer_check.
1446
9af30bdf
GM
14472011-03-27 Glenn Morris <rgm@gnu.org>
1448
1449 * syssignal.h: Replace RETSIGTYPE with void.
1450 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
1451 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
1452 Replace SIGTYPE with void everywhere.
1453 * s/usg5-4-common.h (SIGTYPE): Remove definition.
1454 * s/template.h (SIGTYPE): Remove commented out definition.
1455
e2abce01
JB
14562011-03-26 Eli Zaretskii <eliz@gnu.org>
1457
1458 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
1459 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
1460
f868cd8a
JB
14612011-03-26 Juanma Barranquero <lekktu@gmail.com>
1462
59eb0929
JB
1463 * w32.c (read_unc_volume): Use parameter `henum', instead of
1464 global variable `wget_enum_handle'.
1465
1466 * keymap.c (describe_vector): Remove parameters `indices' and
1467 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
1468 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
1469
f868cd8a
JB
1470 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
1471
1472 * keyboard.c (timer_check): Remove parameter `do_it_now',
1473 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
1474 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
1475 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
1476
1477 * keyboard.c (read_char):
1478 * w32menu.c (w32_menu_display_help):
1479 * xmenu.c (show_help_event, menu_help_callback):
1480 Adjust calls to `show_help_echo'.
1481
1482 * gtkutil.c (xg_maybe_add_timer):
1483 * keyboard.c (readable_events):
1484 * process.c (wait_reading_process_output):
1485 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
1486
1487 * insdel.c (adjust_markers_gap_motion):
1488 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
1489 (gap_left, gap_right): Don't call it.
1490
2ecf6fdb
CY
14912011-03-25 Chong Yidong <cyd@stupidchicken.com>
1492
1493 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
1494 incurred during fontification.
1495
6b1f9ba4
JB
14962011-03-25 Juanma Barranquero <lekktu@gmail.com>
1497
1498 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
1499 (DEFVAR_PER_BUFFER): Don't pass it.
1500
1501 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
1502 (scrolling_window): Don't pass it.
1503
0f4a96b5
JB
15042011-03-25 Juanma Barranquero <lekktu@gmail.com>
1505
1506 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
1507
1508 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
1509 and `suffix'.
1510 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
1511 of variables specific to SELinux and computation of `encoded_absname'.
1512
1513 * image.c (XPutPixel): Remove unused variable `height'.
1514
1515 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
1516
1517 * unexw32.c (get_section_info): Remove unused variable `section'.
1518
1519 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
1520 (system_process_attributes): Remove unused variable `sess'.
1521 (sys_read): Remove unused variable `err'.
1522
1523 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
1524 (w32_wnd_proc): Remove unused variable `isdead'.
1525 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
1526 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
1527 (x_create_tip_frame): Remove unused variable `tem'.
1528
1529 * w32inevt.c (w32_console_read_socket):
1530 Remove unused variable `no_events'.
1531
1532 * w32term.c (x_draw_composite_glyph_string_foreground):
1533 Remove unused variable `width'.
1534
1149507c
JB
15352011-03-24 Juanma Barranquero <lekktu@gmail.com>
1536
1537 * w32term.c (x_set_glyph_string_clipping):
1538 Don't pass uninitialized region to CombineRgn.
1539
9c88f339
JB
15402011-03-23 Juanma Barranquero <lekktu@gmail.com>
1541
1542 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
1543 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
1544 (Fx_close_connection): Remove unused variable `i'.
1545
1546 * w32font.c (w32font_draw): Return number of glyphs.
1547 (w32font_open_internal): Remove unused variable `i'.
1548 (w32font_driver): Add missing initializer.
1549
1550 * w32menu.c (utf8to16): Remove unused variable `utf16'.
1551 (fill_in_menu): Remove unused variable `items_added'.
1552
1553 * w32term.c (last_mouse_press_frame): Remove static global variable.
1554 (w32_clip_to_row): Remove unused variable `f'.
1555 (x_delete_terminal): Remove unused variable `i'.
1556
1557 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
1558 (NOTHING): Remove unused static global variable.
1559 (uniscribe_check_otf): Remove unused variable `table'.
1560 (uniscribe_font_driver): Add missing initializers.
1561
dee091a3
JD
15622011-03-23 Julien Danjou <julien@danjou.info>
1563
1564 * term.c (Fsuspend_tty, Fresume_tty):
1565 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
1566 * window.c (temp_output_buffer_show):
1567 * insdel.c (signal_before_change):
1568 * frame.c (Fhandle_switch_frame):
1569 * fileio.c (Fdo_auto_save):
1570 * emacs.c (Fkill_emacs):
1571 * editfns.c (save_excursion_restore):
1572 * cmds.c (internal_self_insert):
1573 * callint.c (Fcall_interactively):
1574 * buffer.c (Fkill_all_local_variables):
1575 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
1576 Use Frun_hooks.
0f4a96b5 1577 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
dee091a3
JD
1578 unconditionnaly since it does the check itself.
1579
2c520ab5 15802011-03-23 Paul Eggert <eggert@cs.ucla.edu>
f0641eff 1581
c9c49752
PE
1582 Fix more problems found by GCC 4.5.2's static checks.
1583
8abc3f12
PE
1584 * coding.c (encode_coding_raw_text): Avoid unnecessary test
1585 the first time through the loop, since we know p0 < p1 then.
1586 This also avoids a gcc -Wstrict-overflow warning.
1587
a2d26660
PE
1588 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
1589 leading to a memory leak, possible in functions like
1590 load_charset_map_from_file that can allocate an unbounded number
b12ef411 1591 of objects (Bug#8318).
a2d26660 1592
916c72e9
PE
1593 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
1594 that could (at least in theory) be that large.
1595
19ab8a18
PE
1596 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
1597 This is less likely to overflow, and avoids undefined behavior if
1598 overflow does occur. All callers changed. Use strtoul to scan
1599 for the unsigned long integer.
b7cbbd6f
PE
1600 (pint2hrstr): Simplify and tune code slightly.
1601 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
19ab8a18 1602
f0641eff
PE
1603 * scroll.c (do_scrolling): Work around GCC bug 48228.
1604 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
1605
7f650bb9
PE
1606 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
1607 This also avoids a warning with gcc -Wstrict-overflow.
39f5e519
PE
1608 (validate_x_resource_name): Simplify count usage.
1609 This also avoids a warning with gcc -Wstrict-overflow.
7f650bb9 1610
37dd57d1
PE
1611 * fileio.c (Fcopy_file): Report error if fchown or fchmod
1612 fail (Bug#8306).
81e56e61 1613
699979fc 1614 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
dc1ca6a8 1615
401bf9b4
PE
1616 * process.c (Fmake_network_process): Use socklen_t, not int,
1617 where POSIX says socklen_t is required in portable programs.
1618 This fixes a porting bug on hosts like 64-bit HP-UX, where
591b2973 1619 socklen_t is wider than int (Bug#8277).
401bf9b4
PE
1620 (Fmake_network_process, server_accept_connection):
1621 (wait_reading_process_output, read_process_output):
1622 Likewise.
1623
b93aacde
PE
1624 * process.c: Rename or move locals to avoid shadowing.
1625 (list_processes_1, Fmake_network_process):
1626 (read_process_output_error_handler, exec_sentinel_error_handler):
1627 Rename or move locals.
4dc343ee 1628 (Fmake_network_process): Define label "retry_connect" only if needed.
0da49335 1629 (Fnetwork_interface_info): Fix pointer signedness.
f990b4e5 1630 (process_send_signal): Add cast to avoid pointer signedness problem.
7b808126 1631 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
c939f91b 1632 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
b93aacde 1633
af8a867c 1634 Make tparam.h and terminfo.c consistent.
44f230aa
SM
1635 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
1636 Include tparam.h instead, since it declares them.
af8a867c
PE
1637 * cm.h (PC): Remove extern decl; tparam.h now does this.
1638 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
1639 * terminfo.c: Include tparam.h, to check interfaces.
1640 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
1641 (tparam): Adjust signature to match interface in tparam.h;
1642 this removes some undefined behavior. Check that outstring and len
1643 are zero, which they always are with Emacs.
1644 * tparam.h (PC, BC, UP): New extern decls.
1645
0248044d 1646 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
001a7ab4 1647 (xftfont_open): Rename locals to avoid shadowing.
0248044d 1648
8ff096c1 1649 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
a00924bb
PE
1650 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
1651 (OTF_TAG_SYM): Omit macro if not needed.
e932860f 1652 (ftfont_list): Remove unused local.
49eaafba
PE
1653 (get_adstyle_property, ftfont_pattern_entity):
1654 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
1655 Rename locals to avoid shadowing.
8ff096c1 1656
e2be39f6
PE
1657 * xfont.c (xfont_list_family): Mark var as initialized.
1658
c9735e30
PE
1659 * xml.c (make_dom): Now static.
1660
8f5201ae
PE
1661 * composite.c (composition_compute_stop_pos): Rename local to
1662 avoid shadowing.
b246f932
PE
1663 (composition_reseat_it): Remove unused locals.
1664 (find_automatic_composition, composition_adjust_point): Likewise.
80e079b2 1665 (composition_update_it): Mark var as initialized.
11b61122
PE
1666 (find_automatic_composition): Mark vars as initialized,
1667 with a FIXME (Bug#8290).
8f5201ae 1668
760fbc2c
PE
1669 character.h: Rename locals to avoid shadowing.
1670 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
1671 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
1672 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
1673 (BUF_DEC_POS): Be more systematic about renaming local temporaries
1674 to avoid shadowing.
1675
ff08eb85
PE
1676 * textprop.c (property_change_between_p): Remove; unused.
1677
fc7bf025
PE
1678 * intervals.c (interval_start_pos): Now static.
1679
235d7abc
PE
1680 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
1681
44f230aa
SM
1682 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
1683 Rename locals to avoid shadowing.
3e7d6594 1684
50060332
PE
1685 * sound.c (wav_play, au_play, Fplay_sound_internal):
1686 Fix pointer signedness.
d01f234b 1687 (alsa_choose_format): Remove unused local var.
c83b8872
PE
1688 (wav_play): Initialize a variable to 0, to prevent undefined
1689 behavior (Bug#8278).
50060332 1690
c4fc4e30
PE
1691 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
1692
918436ed
PE
1693 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
1694
c939f91b
PE
1695 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
1696 clobbering (Bug#8298).
b9c7f648
PE
1697 * sysdep.c (sys_subshell): Likewise.
1698 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
7e9123a2 1699
6bd8c144
PE
1700 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
1701 This should get cleaned up, so that child_setup has the
1702 same signature on all platforms.
1703
7710357c 1704 * callproc.c (call_process_cleanup): Now static.
cb1d0ef7 1705 (relocate_fd): Rename locals to avoid shadowing.
7710357c 1706
c59da222
CY
17072011-03-22 Chong Yidong <cyd@stupidchicken.com>
1708
1709 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
1710 not to be necessary, and produces flickering.
1711
66b87493
GM
17122011-03-20 Glenn Morris <rgm@gnu.org>
1713
1714 * config.in: Remove file.
1715
45b6f6d5
JB
17162011-03-20 Juanma Barranquero <lekktu@gmail.com>
1717
1718 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
1719 are now in src/globals.h.
1720 (syms_of_minibuf): Remove spurious & from previous change.
1721
3ec03f7e
LL
17222011-03-20 Leo <sdl.web@gmail.com>
1723
1724 * minibuf.c (completing-read-function): New variable.
1725 (completing-read-default): Rename from completing-read.
1726 (completing-read): Call completing-read-function.
1727
b14e3e21
CY
17282011-03-19 Juanma Barranquero <lekktu@gmail.com>
1729
1730 * xfaces.c (Fx_load_color_file):
1731 Read color file from absolute filename (bug#8250).
1732
f2b726e6
JB
17332011-03-19 Juanma Barranquero <lekktu@gmail.com>
1734
1735 * makefile.w32-in: Update dependencies.
1736
09f6ff02
EZ
17372011-03-17 Eli Zaretskii <eliz@gnu.org>
1738
1739 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
1740
29a6015a
PE
17412011-03-17 Paul Eggert <eggert@cs.ucla.edu>
1742
a3a6c54e
PE
1743 Fix more problems found by GCC 4.5.2's static checks.
1744
b766f867
PE
1745 * process.c (make_serial_process_unwind, send_process_trap):
1746 (sigchld_handler): Now static.
1747
be02381c
PE
1748 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
1749 That way, the code declares only the vars that it needs.
1750 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
1751 * s/cygwin.h (PTY_ITERATION): Likewise.
1752 * s/darwin.h (PTY_ITERATION): Likewise.
1753 * s/gnu-linux.h (PTY_ITERATION): Likewise.
1754
57048744
PE
1755 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
1756 * process.c (allocate_pty): Don't declare stb unless it's needed.
1757
7914961c 1758 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
615f2d59
PE
1759 (CONSTANTLIM): Remove; unused.
1760 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
1761 Define only if needed.
7914961c 1762
b3967b18
PE
1763 * unexelf.c (unexec): Name an expression,
1764 to avoid gcc -Wbad-function-cast warning.
9ae71512
PE
1765 Use a different way to cause a compilation error if anyone uses
1766 n rather than nn, a way that does not involve shadowing.
73366a00 1767 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
b3967b18 1768
29a6015a
PE
1769 * deps.mk (unexalpha.o): Remove; unused.
1770
43cfc33e 1771 New file unexec.h, the (simple) interface for unexec (Bug#8267).
7feda0d2 1772 * unexec.h: New file.
ce701a33
PE
1773 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
1774 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
1775 Depend on unexec.h.
1776 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
1777 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
1778 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
381259ef 1779 Change as necessary to match prototype in unexec.h.
ce701a33 1780
01f44d5a
PE
1781 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
1782 shadowing.
4f63c6bb 1783 (back_comment, skip_chars): Mark vars as initialized.
01f44d5a 1784
a6670b0b
PE
1785 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
1786 Rename locals to avoid shadowing.
1787
cef2010d 1788 * lread.c (read1): Rewrite so as not to use empty "else".
0902fe45 1789 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
cef2010d 1790
d4d7173a
PE
1791 * print.c (Fredirect_debugging_output): Fix pointer signedess.
1792
f08b802a
PE
1793 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
1794 warning when compiling print.c.
1795
3ddb0639
PE
1796 * font.c (font_unparse_fcname): Abort in an "impossible" situation
1797 instead of using an uninitialized var.
5ad03b97 1798 (font_sort_entities): Mark var as initialized.
3ddb0639 1799
170a2692
PE
1800 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
1801
e663c700
PE
1802 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
1803 pointers to constants.
89bc529a 1804 (font_parse_fcname): Remove unused vars.
7b81e2d0 1805 (font_delete_unmatched): Now static.
ea838e10 1806 (font_get_spec): Remove; unused.
13a547c6
PE
1807 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
1808 (font_update_drivers, Ffont_get_glyphs, font_add_log):
1809 Rename or move locals to avoid shadowing.
e663c700 1810
2a80c887 1811 * fns.c (require_nesting_list, require_unwind): Now static.
612f56df 1812 (Ffillarray): Rename locals to avoid shadowing.
2a80c887 1813
1384fa33 1814 * floatfns.c (domain_error2): Define only if needed.
a885e2ed 1815 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
1384fa33 1816
8b2c52e9
PE
1817 * alloc.c (mark_backtrace): Move decl from here ...
1818 * lisp.h: ... to here, so that it can be checked.
1819
475545b5 1820 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
d28a2170 1821 (Fdefvar): Rewrite so as not to use empty "else".
cfcbfb1a
PE
1822 (lisp_indirect_variable): Name an expression,
1823 to avoid gcc -Wbad-function-cast warning.
1faed8ae 1824 (Fdefvar): Rename locals to avoid shadowing.
475545b5 1825
b1349114 1826 * callint.c (quotify_arg, quotify_args): Now static.
a3e8cbda 1827 (Fcall_interactively): Rename locals to avoid shadowing.
b0e80955 1828 Use const pointer when appropriate.
b1349114 1829
a2928364
PE
1830 * lisp.h (get_system_name, get_operating_system_release):
1831 Move decls here, to check interfaces.
1832 * process.c (get_operating_system_release): Move decl to lisp.h.
1833 * xrdb.c (get_system_name): Likewise.
63c5d10b
PE
1834 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
1835 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
1836 some of which prompt warnings from gcc -Wbad-function-cast.
545b49b4
PE
1837 (Fformat_time_string, Fencode_time, Finsert_char):
1838 (Ftranslate_region_internal, Fformat):
1839 Rename or remove local vars to avoid shadowing.
9710023e 1840 (Ftranslate_region_internal): Mark var as initialized.
63c5d10b 1841
a415e694
PE
1842 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
1843 avoid shadowing.
1844
8ef4622d
PE
1845 * lisp.h (eassert): Check that the argument compiles, even if
1846 ENABLE_CHECKING is not defined.
1847
946f9a5b
PE
1848 * data.c (Findirect_variable): Name an expression, to avoid
1849 gcc -Wbad-function-cast warning.
112396d6 1850 (default_value, arithcompare, arith_driver, arith_error): Now static.
b9b84fa9 1851 (store_symval_forwarding): Rename local to avoid shadowing.
44f230aa
SM
1852 (Fmake_variable_buffer_local, Fmake_local_variable):
1853 Mark variables as initialized.
52746918 1854 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
946f9a5b 1855
e5aab7e7 1856 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
ae35e756
PE
1857 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
1858 Rename locals to avoid shadowing.
dff45157
PE
1859 (mark_stack): Move local variables into the #ifdef region where
1860 they're used.
7bc26fdb
PE
1861 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
1862 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
1863 needed otherwise.
1864 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
1865 (GC_STRING_CHARS): Remove; not used.
d40d4be1 1866 (Fmemory_limit): Cast sbrk's returned value to char *.
ae35e756 1867
e5aab7e7
PE
1868 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
1869 avoids undefined behavior in theory.
1870
4da60324
PE
1871 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
1872
88043301
PE
1873 Use functions, not macros, for up- and down-casing (Bug#8254).
1874 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1875 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
1876 to use the following functions instead of these macros.
1877 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
1878 EMACS_INT, since callers assume the returned value fits in int.
1879 (upcase1): Likewise, for UPCASE_TABLE.
1880 (uppercasep, lowercasep, upcase): New static inline functions.
0da09c43 1881 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
db69b0cd 1882 the race-condition problem in the old DOWNCASE.
88043301 1883
19ed5445
PE
1884 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
1885 Rename locals to avoid shadowing.
1886 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
abbd1bcf
PE
1887 (regex_compile, re_search_2, re_match_2_internal):
1888 Remove unused local vars.
952db0d7
PE
1889 (FREE_VAR): Rewrite so as not to use empty "else",
1890 which gcc can warn about.
da053e48 1891 (regex_compile, re_match_2_internal): Mark locals as initialized.
b313f9d8
PE
1892 (RETALLOC_IF): Define only if needed.
1893 (WORDCHAR_P): Likewise. This one is never needed, but is used
1894 only in a comment talking about a compiler bug, so put inside
1895 the #if 0 of that comment.
1896 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
1897 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
1898 Remove; unused.
19ed5445 1899
1f3561e4 1900 * search.c (boyer_moore): Rename locals to avoid shadowing.
76ef09b7
PE
1901 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
1902 (PREV_CHAR_BOUNDARY): Likewise.
1f3561e4 1903
ded6f8f7
PE
1904 * search.c (simple_search): Remove unused var.
1905
dbd37a95
PE
1906 * dired.c (compile_pattern): Move decl from here ...
1907 * lisp.h: ... to here, so that it can be checked.
1908 (struct re_registers): New forward decl.
1909
7e47afad
PE
1910 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
1911
85f24f61
PE
1912 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
1913 All uses changed.
1914 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
1915 Rename locals to avoid shadowing.
5671df8f 1916 (Fvertical_motion): Mark locals as initialized.
85f24f61 1917
181aa2be 1918 * casefiddle.c (casify_object, casify_region): Now static.
e45a141a 1919 (casify_region): Mark local as initialized.
181aa2be 1920
930d429c
PE
1921 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
1922
7082eac6
PE
1923 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
1924 New macros, so that the caller can use some names other than
1925 gcpro1, gcpro2, etc.
1926 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
1927 of the new macros.
1928 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
1929 argument, for consistency with GCPRO2_VAR, etc: it is now the
1930 prefix of the variable, not the variable itself. All uses
1931 changed.
38b2c076
PE
1932 * dired.c (directory_files_internal, file_name_completion):
1933 Rename locals to avoid shadowing.
1934
15206ed9
PE
1935 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
1936 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
1937 dired.c's scmp function, had undefined behavior.
1938 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1939 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
1940 * buffer.h: ... to here, because these macros use current_buffer,
1941 and the new implementation with inline functions needs to have
1942 current_buffer in scope now, rather than later when the macros
1943 are used.
1944 (downcase, upcase1): New static inline functions.
1945 (DOWNCASE, UPCASE1): Reimplement using these functions.
1946 This avoids undefined behavior in expressions like
1947 DOWNCASE (x) == DOWNCASE (y), which previously suffered
1948 from race conditions in accessing the global variables
1949 case_temp1 and case_temp2.
1950 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
1951 * lisp.h (case_temp1, case_temp2): Remove their decls.
1952 * character.h (ASCII_CHAR_P): Move from here ...
1953 * lisp.h: ... to here, so that the inline functions mentioned
1954 above can use them.
1955
4a6bea26
PE
1956 * dired.c (directory_files_internal_unwind): Now static.
1957
f14b7e14
PE
1958 * fileio.c (file_name_as_directory, directory_file_name):
1959 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
1960 Now static.
2893f146
PE
1961 (file_name_as_directory): Use const pointers when appropriate.
1962 (Fexpand_file_name): Likewise. In particular, newdir might
1963 point at constant storage, so make it a const pointer.
fd4ead52 1964 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
b14aac08
PE
1965 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
1966 signedness issues.
f839df0c
PE
1967 (Fset_file_times, Finsert_file_contents, auto_save_error):
1968 Rename locals to avoid shadowing.
f14b7e14 1969
5716756e 1970 * minibuf.c (choose_minibuf_frame_1): Now static.
62137a95
PE
1971 (Ftry_completion, Fall_completions): Rename or remove locals
1972 to avoid shadowing.
5716756e 1973
b4c3046a
PE
1974 * marker.c (bytepos_to_charpos): Remove; unused.
1975
b45db522
PE
1976 * lisp.h (verify_bytepos, count_markers): New decls,
1977 so that gcc does not warn that these functions aren't declared.
1978
85876d07
PE
1979 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
1980 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
f0cb4a60 1981 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
40ef059e 1982 (copy_text): Remove unused local var.
85876d07 1983
03d78a21 1984 * filelock.c (within_one_second): Now static.
b3dd38ab 1985 (lock_file_1): Rename local to avoid shadowing.
03d78a21 1986
5df8f01b
PE
1987 * buffer.c (fix_overlays_before): Mark locals as initialized.
1988 (fix_start_end_in_overlays): Likewise. This function should be
1989 simplified by using pointers-to-pointers, but that's a different
1990 matter.
b1d876f1 1991 (switch_to_buffer_1): Now static.
8f54f30a
PE
1992 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
1993 (report_overlay_modification): Rename locals to avoid shadowing.
c3bd59b5 1994
a70072c9 1995 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
fbd02d7b 1996 Fix pointer signedness issue.
edced198
PE
1997 (sys_subshell): Mark local as volatile if checking for lint,
1998 to suppress a gcc -Wclobbered warning that does not seem to be right.
15dfd3d9 1999 (MAXPATHLEN): Define only if needed.
a70072c9 2000
a0977c44
PE
2001 * process.c (serial_open, serial_configure): Move decls from here ...
2002 * systty.h: ... to here, so that they can be checked.
2003
a884fdcc
PE
2004 * fns.c (get_random, seed_random): Move extern decls from here ...
2005 * lisp.h: ... to here, so that they can be checked.
2006
604efe86 2007 * sysdep.c (reset_io): Now static.
b8950c94 2008 (wait_for_termination_signal): Remove; unused.
604efe86 2009
38fc62d9
PE
2010 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
2011 (copy_keymap_item, append_key, push_text_char_description):
2012 Now static.
1004a21a 2013 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
dbbb8427 2014 (DENSE_TABLE_SIZE): Remove; unused.
c1141155
PE
2015 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
2016 (describe_map_tree):
2017 Rename locals to avoid shadowing.
38fc62d9 2018
2f2650da
PE
2019 * keyboard.c: Declare functions static if they are not used elsewhere.
2020 (echo_char, echo_dash, cmd_error, top_level_2):
2021 (poll_for_input, handle_async_input): Now static.
69a058fa
PE
2022 (read_char, kbd_buffer_get_event, make_lispy_position):
2023 (make_lispy_event, make_lispy_movement, apply_modifiers):
2024 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
2025 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
2026 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
c8a06054 2027 (read_key_sequence, read_char): Mark locals as initialized.
3ac94672 2028 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
2f2650da 2029
a053e86c 2030 * keyboard.h (make_ctrl_char): New decl.
da2f2dd9
PE
2031 (mark_kboards): Move decl here ...
2032 * alloc.c (mark_kboards): ... from here.
a053e86c 2033
4752793e
PE
2034 * lisp.h (force_auto_save_soon): New decl.
2035
74f10ca7 2036 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
244fc23d
PE
2037 (DEFINE_DUMMY_FUNCTION): New macro.
2038 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
2039 Use it.
c03cd23f
PE
2040 (main): Add casts to avoid warnings
2041 if GCC considers string literals to be constants.
74f10ca7 2042
022e70d4
PE
2043 * lisp.h (fatal_error_signal): Add decl, since it's exported.
2044
59d6fe83
PE
2045 * dbusbind.c: Pointer signedness fixes.
2046 (xd_signature, xd_append_arg, xd_initialize):
2047 (Fdbus_call_method, Fdbus_call_method_asynchronously):
2048 (Fdbus_method_return_internal, Fdbus_method_error_internal):
2049 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
2050 (Fdbus_register_signal): Use SSDATA when the context wants char *.
2051
78320123
PE
2052 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
2053 if GCC considers string literals to be constants.
49cebcca 2054 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
78320123 2055
35ac2a97
SM
20562011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
2057
fb103ca9
SM
2058 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
2059 (print_preprocess, print_object): New macro to fix last change.
2060
35ac2a97
SM
2061 * print.c (print_preprocess): Don't forget font objects.
2062
62973b41
JB
20632011-03-16 Juanma Barranquero <lekktu@gmail.com>
2064
2065 * emacs.c (USAGE3): Doc fixes.
2066
0e48bb22
AS
20672011-03-15 Andreas Schwab <schwab@linux-m68k.org>
2068
2069 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
2070 structure.
2071
7684e57b
JB
20722011-03-14 Juanma Barranquero <lekktu@gmail.com>
2073
2074 * lisp.h (VWindow_system, Qfile_name_history):
2075 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
2076 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
2077 (w32_system_caret_x, w32_system_caret_y): Declare extern.
2078
2079 * w32select.c: Don't #include "keyboard.h".
c96bbc66 2080 (run_protected): Add extern declaration for waiting_for_input.
7684e57b
JB
2081
2082 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
2083 * w32console.c (detect_input_pending, read_input_pending)
2084 (encode_terminal_code):
2085 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
2086 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
2087 (w32_system_caret_y, Qfile_name_history):
2088 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
2089 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
2090 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
2091 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
2092 * w32proc.c (Qlocal, report_file_error):
2093 * w32term.c (Vwindow_system, updating_frame):
2094 * w32uniscribe.c (initialized, uniscribe_font_driver):
2095 Remove unneeded extern declarations.
2096
2aa46d6c
CY
20972011-03-14 Chong Yidong <cyd@stupidchicken.com>
2098
c96bbc66 2099 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
2aa46d6c 2100
cffc6f3b
CY
21012011-03-13 Chong Yidong <cyd@stupidchicken.com>
2102
2103 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
2104 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
2105 These macros can no longer be used for assignment.
2106
44f230aa
SM
2107 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
2108 Assign struct members directly, instead of using BUF_BEGV etc.
cffc6f3b
CY
2109 (record_buffer_markers, fetch_buffer_markers): New functions for
2110 recording and fetching special buffer markers.
2111 (set_buffer_internal_1, set_buffer_temp): Use them.
2112
2113 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
2114
2115 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
2116
2117 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
2118 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
2119
2120 * xdisp.c (hscroll_window_tree):
2121 (reconsider_clip_changes): Use PT instead of BUF_PT.
2122
d251f04b
EZ
21232011-03-13 Eli Zaretskii <eliz@gnu.org>
2124
2125 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
2126 $(EMACS_ROOT)/lib/intprops.h.
2127
f0c77cd1
PE
21282011-03-13 Paul Eggert <eggert@cs.ucla.edu>
2129
3eca4629
PE
2130 Fix more problems found by GCC 4.5.2's static checks.
2131
7c86ee98
PE
2132 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
2133 to unsigned char * to avoid compiler diagnostic.
b0afc268
PE
2134 (xg_free_frame_widgets): Make it clear that a local variable is
2135 needed only if USE_GTK_TOOLTIP.
01e0b5ad
PE
2136 (gdk_window_get_screen): Make it clear that this macro is needed
2137 only if USE_GTK_TOOLTIP.
1e5524e7
PE
2138 (int_gtk_range_get_value): New function, which avoids a diagnostic
2139 from gcc -Wbad-function-cast.
2140 (xg_set_toolkit_scroll_bar_thumb): Use it.
2141 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
2142 diagnostic from gcc -Wbad-function-cast.
65dc836c
PE
2143 (get_utf8_string, xg_get_file_with_chooser):
2144 Rename locals to avoid shadowing.
2145 (create_dialog): Move locals to avoid shadowing.
7c86ee98 2146
41729b81
PE
2147 * xgselect.c (xg_select): Remove unused var.
2148
f0c77cd1
PE
2149 * image.c (four_corners_best): Mark locals as initialized.
2150 (gif_load): Initialize transparent_p to zero (Bug#8238).
2151 Mark another local as initialized.
ec6cf4c6 2152 (my_png_error, my_error_exit): Mark with NO_RETURN.
f0c77cd1 2153
ce0ad53d 2154 * image.c (clear_image_cache): Now static.
d5d5a617 2155 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
e22cffbc 2156 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
77a765fd
PE
2157 (x_edge_detection): Remove unnecessary cast that
2158 gcc -Wbad-function-cast diagnoses.
2037898d 2159 (gif_load): Fix pointer signedness.
6ae141d6
PE
2160 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
2161 (jpeg_load, gif_load): Rename locals to avoid shadowing.
ce0ad53d 2162
33383987 21632011-03-12 Paul Eggert <eggert@cs.ucla.edu>
3eca4629 2164
d32df629
PE
2165 Improve quality of tests for time stamp overflow.
2166 For example, without this patch (encode-time 0 0 0 1 1
2167 1152921504606846976) returns the obviously-bogus value (-948597
2168 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
2169 reports time overflow. See
2170 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
b8d9bd41
PE
2171 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
2172 * editfns.c: Include limits.h and intprops.h.
2173 (TIME_T_MIN, TIME_T_MAX): New macros.
2174 (time_overflow): Move earlier, to before first use.
2175 (hi_time, lo_time): New functions, for an accurate test for
2176 out-of-range times.
2177 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
2178 (Fget_internal_run_time): Don't assume time_t fits in int.
2179 (make_time): Use list2 instead of Fcons twice.
2180 (Fdecode_time): More accurate test for out-of-range times.
2181 (check_tm_member): New function.
2182 (Fencode_time): Use it, to test for out-of-range times.
d32df629
PE
2183 (lisp_time_argument): Don't rely on undefined left-shift and
2184 right-shift behavior when checking for time stamp overflow.
8be6f318 2185
fe31d94c
PE
2186 * editfns.c (time_overflow): New function, refactoring common code.
2187 (Fformat_time_string, Fdecode_time, Fencode_time):
2188 (Fcurrent_time_string): Use it.
2189
8be6f318
PE
2190 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
2191 * dired.c (make_time): Move to ...
2192 * editfns.c (make_time): ... here.
2193 * systime.h: Note the move.
2194
09d9db2c 21952011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
c47cbdfd 2196
126bc0dc
YM
2197 * fringe.c (update_window_fringes): Remove unused variables.
2198
c47cbdfd
YM
2199 * unexmacosx.c (copy_data_segment): Also copy __got section.
2200 (Bug#8223)
2201
7ac80be9
EZ
22022011-03-12 Eli Zaretskii <eliz@gnu.org>
2203
c96bbc66 2204 * termcap.c [MSDOS]: Include "msdos.h".
058e5dad
EZ
2205 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
2206 Constify `char *' arguments and their references according to
2207 prototypes in tparam.h.
2208
ecb0f94d 2209 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
058e5dad 2210
7ac80be9
EZ
2211 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
2212 Adapt all references accordingly.
2213
2214 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
2215
ef1fd07e
TT
22162011-03-11 Tom Tromey <tromey@redhat.com>
2217
2218 * buffer.c (syms_of_buffer): Remove obsolete comment.
2219
7ef4b50c
EZ
22202011-03-11 Eli Zaretskii <eliz@gnu.org>
2221
2222 * termhooks.h (encode_terminal_code): Declare prototype.
2223
2224 * msdos.c (encode_terminal_code): Don't declare prototype.
2225
2226 * term.c (encode_terminal_code): Now external again, used by
2227 w32console.c and msdos.c.
2228
44f230aa
SM
2229 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
2230 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
7ef4b50c 2231
4b1ec863 22322011-03-11 Paul Eggert <eggert@cs.ucla.edu>
f78faa98 2233
1714f52b 2234 Fix some minor problems found by GCC 4.5.2's static checks.
83316bf4 2235
4b1ec863
PE
2236 * fringe.c (update_window_fringes): Mark locals as initialized
2237 (Bug#8227).
2238 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
bf60f616 2239
524c7aa6
PE
2240 * alloc.c (mark_fringe_data): Move decl from here ...
2241 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
2242 to check its interface.
2243 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
2244
a5c0af81 2245 * fontset.c (free_realized_fontset): Now static.
7519b8cd 2246 (Fset_fontset_font): Rename local to avoid shadowing.
cc6e5db1 2247 (fontset_font): Mark local as initialized.
a9a06e0b 2248 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
a5c0af81 2249
b4716021
PE
2250 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
2251
811e9bac 2252 * xselect.c (x_disown_buffer_selections): Remove; not used.
7b83e2f1 2253 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
aa0daa9f
PE
2254 (x_own_selection, Fx_disown_selection_internal): Rename locals
2255 to avoid shadowing.
2256 (x_handle_dnd_message): Remove local to avoid shadowing.
811e9bac 2257
7e3ab302
PE
2258 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
2259 so that the caller can use some name other than gcpro1.
2260 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
58d2d479
PE
2261 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2262 (Fx_backspace_delete_keys_p):
2263 Use them to avoid shadowing, and rename vars to avoid shadowing.
2264 (x_decode_color, x_set_name, x_window): Now static.
6b437900 2265 (Fx_create_frame): Add braces to silence GCC warning.
c0951e53 2266 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
06b0c8a0
PE
2267 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
2268 Remove unused locals.
7e3ab302
PE
2269 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
2270 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
2271 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
2272 macros.
f78faa98 2273
e2b13473
PE
2274 * xterm.h (x_mouse_leave): New decl.
2275
77f23912
PE
2276 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
2277 Remove unused functions.
cdf4ba58
PE
2278 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
2279 (x_calc_absolute_position): Now static.
7411c686 2280 (XTread_socket): Don't define label "out" unless it's used.
2b07bcff 2281 Don't declare local "event" unless it's used.
ed7bf3a5
PE
2282 (x_iconify_frame, x_free_frame_resources): Don't declare locals
2283 unless they are used.
38d0b34a
PE
2284 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
2285 (x_fatal_error_signal): Remove; not used.
a6067996
PE
2286 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
2287 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
2288 (x_error_catcher, x_connection_closed, x_error_handler):
2289 (x_error_quitter, xembed_send_message, x_iconify_frame):
2290 (my_log_handler): Rename locals to avoid shadowing.
28f1c698 2291 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
2a8fade0 2292 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
77f23912 2293
44f230aa
SM
2294 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
2295 Rename or move locals to avoid shadowing.
6b463e58 2296 (tty_defined_color, merge_face_heights): Now static.
5967d051 2297 (free_realized_faces_for_fontset): Remove; not used.
1e9966ea
PE
2298 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
2299 does not deduce is never used uninitialized.
73719eba
PE
2300 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
2301 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
071048a3 2302
426994c3 2303 * terminal.c (store_terminal_param): Now static.
5489860b 2304
032f1620 2305 * xmenu.c (menu_highlight_callback): Now static.
9d66f88e 2306 (set_frame_menubar): Remove unused local.
d4323972 2307 (xmenu_show): Rename parameter to avoid shadowing.
6d1f7fee
PE
2308 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
2309 since they might point to immutable storage.
281585b0
PE
2310 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
2311 since it's unused otherwise.
032f1620 2312
367c19e5 2313 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
53df7c11 2314 Add a FIXME, since the code still doesn't look right. (Bug#8215)
9f36b9fd
PE
2315 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
2316 avoids a gcc -Wuninitialized diagnostic.
0e086e8f 2317 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
44a3a108
PE
2318 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
2319 does not deduce are never used uninitialized.
70739cbe 2320
07b48fa9
PE
2321 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
2322
8868a238 2323 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
4554d213
PE
2324 * window.c (window_loop, size_window):
2325 (run_window_configuration_change_hook, enlarge_window): Likewise.
8868a238 2326
7e5cf297 2327 * window.c (display_buffer): Now static.
d6550a9f
PE
2328 (size_window): Mark variables that gcc -Wuninitialized
2329 does not deduce are never used uninitialized.
a586633d
PE
2330 * window.h (check_all_windows): New decl, to forestall
2331 gcc -Wmissing-prototypes diagnostic.
5b555da1 2332 * dispextern.h (bidi_dump_cached_states): Likewise.
7e5cf297 2333
f6095868
PE
2334 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
2335 shadowing.
2336 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
726929c4
PE
2337 Include <limits.h>.
2338 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
2339 and to avoid gcc -Wuninitialized warning.
89ef49df
PE
2340 (load_charset_map): Mark variables that gcc -Wuninitialized
2341 does not deduce are never used uninitialized.
53df7c11 2342 (load_charset): Abort instead of using uninitialized var (Bug#8229).
f6095868 2343
f38b440c
PE
2344 * coding.c (coding_set_source, coding_set_destination):
2345 Use "else { /* comment */ }" rather than "else /* comment */;"
2346 for clarity, and to avoid gcc -Wempty-body warning.
2735d060
PE
2347 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
2348 a block, when the outer 'i' will do.
2349 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
2350 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
2351 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
2352 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
2353 (Fdecode_sjis_char, Fdefine_coding_system_internal):
2354 Rename locals to avoid shadowing.
2355 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
e2f1bab9
PE
2356 * coding.c (emacs_mule_char, encode_invocation_designation):
2357 Now static, since they're not used elsewhere.
413bb2db 2358 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
c4a63b12 2359 (decode_coding_object, encode_coding_object, detect_coding_system):
ee05f961
PE
2360 (decode_coding_emacs_mule): Mark variables that gcc
2361 -Wuninitialized does not deduce are never used uninitialized.
160b01f6
PE
2362 (detect_coding_iso_2022): Initialize a local variable that might
2363 be used uninitialized. Leave a FIXME because it's not clear that
53df7c11 2364 this initialization is needed. (Bug#8211)
5f58e762
PE
2365 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
2366 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
2367 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
2368 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
2369 Remove unused macros.
f38b440c 2370
232b38b9 2371 * category.c (hash_get_category_set): Remove unused local var.
9f3b5e69 2372 (copy_category_table): Now static, since it's not used elsewhere.
d0891610 2373 * character.c (string_count_byte8): Likewise.
232b38b9 2374
fb90da1b
PE
2375 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
2376 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
2377
fb93dbc2
PE
2378 * chartab.c (copy_sub_char_table): Now static, since it's not used
2379 elsewhere.
5c156ace
PE
2380 (sub_char_table_ref_and_range, char_table_ref_and_range):
2381 Rename locals to avoid shadowing.
bbcd0949 2382 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
fb93dbc2 2383
7d3b3862 2384 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
630d6892 2385 (BIDI_BOB): Remove unused macro.
7d3b3862 2386
6be7d3da
PE
2387 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
2388 deduce are never used uninitialized.
c2ed9c8b 2389 * term.c (encode_terminal_code): Likewise.
6be7d3da 2390
75f8807f 2391 * term.c (encode_terminal_code): Now static. Remove unused local.
72abad34 2392
50938595
PE
2393 * tparam.h: New file.
2394 * term.c, tparam.h: Include it.
2395 * deps.mk (term.o, tparam.o): Depend on tparam.h.
2396 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
2397 Move these decls to tparam.h, and make them agree with what
2398 is actually in tparam.c. The previous trick of using incompatible
2399 decls in different modules does not conform to the C standard.
2400 All callers of tparam changed to use tparam's actual API.
2401 * tparam.c (tparam1, tparam, tgoto):
2402 Use const pointers where appropriate.
2403
fbceeba2
PE
2404 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
2405 * cm.h (struct cm): Likewise.
2406 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
2407 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
2408 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
2409 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
2410 (turn_on_face, init_tty): Likewise.
2411 * termchar.h (struct tty_display_info): Likewise.
fbceeba2 2412
7f3f1250
PE
2413 * term.c (term_mouse_position): Rename local to avoid shadowing.
2414
e6ca6543
PE
2415 * alloc.c (mark_ttys): Move decl from here ...
2416 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
2417
c40f8d15
AS
24182011-03-11 Andreas Schwab <schwab@linux-m68k.org>
2419
2420 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
2421
cfe0661d
JB
24222011-03-09 Juanma Barranquero <lekktu@gmail.com>
2423
2424 * search.c (compile_pattern_1): Remove argument regp, unused since
2425 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
2426 (compile_pattern): Don't pass it.
2427
0afb4571
J
24282011-03-08 Jan Djärv <jan.h.d@swipnet.se>
2429
2430 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
2431 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
2432 for ! HAVE_GTK3.
2433 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
2434
2435 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
2436
2437 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
2438 gdk_window_get_screen, gdk_window_get_geometry,
2439 gdk_x11_window_lookup_for_display and GDK_KEY_g.
2440 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
2441 (xg_get_pixbuf_from_pixmap): New function.
2442 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
2443 to Pixmap, take frame as parameter, remove GdkColormap parameter.
2444 Call xg_get_pixbuf_from_pixmap instead of
2445 gdk_pixbuf_get_from_drawable.
2446 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
2447 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
2448 (xg_check_special_colors): Use GtkStyleContext and its functions
2449 for HAVE_GTK3.
2450 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
2451 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
2452 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
44f230aa
SM
2453 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
2454 Call gtk_widget_get_preferred_size.
0afb4571
J
2455 (xg_frame_resized): gdk_window_get_geometry only takes 5
2456 parameters.
44f230aa
SM
2457 (xg_win_to_widget, xg_event_is_for_menubar):
2458 Call gdk_x11_window_lookup_for_display.
0afb4571
J
2459 (xg_set_widget_bg): New function.
2460 (delete_cb): New function.
2461 (xg_create_frame_widgets): connect delete-event to delete_cb.
2462 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
2463 (xg_set_background_color): Call xg_set_widget_bg.
2464 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
2465 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
2466 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
2467 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
2468 if ! HAVE_GTK3.
2469 (update_frame_tool_bar): Call gtk_widget_hide.
2470 (xg_initialize): Use GDK_KEY_g.
2471
2472 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
2473 if ! HAVE_GTK3
2474 (x_session_initialize): Call gdk_x11_set_sm_client_id.
2475
2476 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
2477 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
2478 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
2479
1c2cc4ef
JB
24802011-03-08 Juanma Barranquero <lekktu@gmail.com>
2481
2482 * w32xfns.c (select_palette): Check success of RealizePalette against
2483 GDI_ERROR, not zero.
2484
33383987 2485See ChangeLog.11 for earlier changes.
aac0c6e3
MR
2486
2487;; Local Variables:
2488;; coding: utf-8
aac0c6e3
MR
2489;; End:
2490
33383987 2491 Copyright (C) 2011 Free Software Foundation, Inc.
aac0c6e3
MR
2492
2493 This file is part of GNU Emacs.
2494
2495 GNU Emacs is free software: you can redistribute it and/or modify
2496 it under the terms of the GNU General Public License as published by
2497 the Free Software Foundation, either version 3 of the License, or
2498 (at your option) any later version.
2499
2500 GNU Emacs is distributed in the hope that it will be useful,
2501 but WITHOUT ANY WARRANTY; without even the implied warranty of
2502 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2503 GNU General Public License for more details.
2504
2505 You should have received a copy of the GNU General Public License
2506 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.