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