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