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