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