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