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