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