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