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