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