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