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