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