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