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