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