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