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