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