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