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