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