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