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