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