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