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