* keyboard.c (access_keymap_keyremap): Print func name, not garbage.
[bpt/emacs.git] / src / ChangeLog
1 2011-04-07 Paul Eggert <eggert@cs.ucla.edu>
2
3 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
4
5 2011-04-06 Paul Eggert <eggert@cs.ucla.edu>
6
7 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
8
9 * xterm.c (x_catch_errors): Remove duplicate declaration.
10
11 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
12
13 * xdisp.c, lisp.h (message_nolog): Remove; unused.
14
15 2011-04-06 Eli Zaretskii <eliz@gnu.org>
16
17 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
18
19 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
20
21 2011-04-06 Paul Eggert <eggert@cs.ucla.edu>
22
23 Fix more problems found by GCC 4.6.0's static checks.
24
25 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
26
27 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
28
29 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
30
31 * xdisp.c (vmessage): Mark as a printf-like function.
32
33 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
34
35 * sound.c (sound_warning): Don't crash if arg contains a printf format.
36
37 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
38 printf-like functions.
39 (tiff_load): Add casts to remove these marks before passing them
40 to system-supplied API.
41
42 * eval.c (Fsignal): Remove excess argument to 'fatal'.
43
44 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
45 This avoids several warnings with gcc -Wstrict-overflow.
46 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
47 directly, rather than having caller test rule sign. This avoids
48 some unnecessary tests.
49 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
50 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
51 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
52
53 * xfont.c (xfont_text_extents): Remove var that was set but not used.
54 (xfont_open): Avoid unnecessary tests.
55
56 * composite.c (composition_gstring_put_cache): Use unsigned integer.
57
58 * composite.h, composite.c (composition_gstring_put_cache):
59 Use EMACS_INT, not int, for length.
60
61 * composite.h (COMPOSITION_DECODE_REFS): New macro,
62 breaking out part of COMPOSITION_DECODE_RULE.
63 (COMPOSITION_DECODE_RULE): Use it.
64 * composite.c (get_composition_id): Remove unused local vars,
65 by using the new macro.
66
67 * textprop.c (set_text_properties_1): Change while to do-while,
68 since the condition is always true at first.
69
70 * intervals.c (graft_intervals_into_buffer): Mark var as used.
71 (interval_deletion_adjustment): Return unsigned value.
72 All uses changed.
73
74 * process.c (list_processes_1, create_pty, read_process_output):
75 (exec_sentinel): Remove vars that were set but not used.
76 (create_pty): Remove unnecessary "volatile"s.
77 (Fnetwork_interface_info): Avoid possibility of int overflow.
78 (read_process_output): Do adaptive read buffering even if carryover.
79 (read_process_output): Simplify nbytes computation if buffered.
80
81 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
82
83 * syntax.c (scan_words): Remove var that was set but not used.
84 (update_syntax_table): Use unsigned instead of int.
85
86 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
87 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
88 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
89
90 * print.c (print_error_message): Avoid int overflow.
91
92 * font.c (font_list_entities): Redo for clarity,
93 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
94
95 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
96 (font_score): Avoid potential overflow in diff calculation.
97
98 * fns.c (substring_both): Remove var that is set but not used.
99 (sxhash): Redo loop for clarity and to avoid wraparound warning.
100
101 * eval.c (funcall_lambda): Rename local to avoid shadowing.
102
103 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
104 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
105 can always succeed if overflow has undefined behavior.
106
107 * search.c (boyer_moore, wordify): Remove vars set but not used.
108 (wordify): Omit three unnecessary tests.
109
110 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
111 All callers changed. This avoids the need for an unused var.
112
113 * casefiddle.c (casify_region): Remove var that is set but not used.
114
115 * dired.c (file_name_completion): Remove var that is set but not used.
116
117 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
118
119 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
120 (Finsert_file_contents): Remove unnecessary code checking fd.
121
122 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
123 Check for integer overflow on size calculations.
124
125 * buffer.c (Fprevious_overlay_change): Remove var that is set
126 but not used.
127
128 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
129 Remove vars that are set but not used.
130 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
131 (timer_check_2): Mark vars as initialized.
132
133 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
134
135 * image.c (lookup_image): Remove var that is set but not used.
136 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
137
138 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
139 that are set but not used.
140
141 * xfns.c (make_invisible_cursor): Don't return garbage
142 if XCreateBitmapFromData fails (Bug#8410).
143
144 * xselect.c (x_get_local_selection, x_handle_property_notify):
145 Remove vars that are set but not used.
146
147 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
148 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
149
150 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
151 Remove var that is set but not used.
152 (scroll_bar_windows_size): Now size_t, not int.
153 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
154 Check for overflow.
155
156 * xfaces.c (realize_named_face): Remove vars that are set but not used.
157 (map_tty_color) [!defined MSDOS]: Likewise.
158
159 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
160
161 * coding.c: Remove vars that are set but not used.
162 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
163 All callers changed.
164 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
165 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
166 (decode_coding_charset): Remove vars that are set but not used.
167
168 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
169 that is set but not used.
170
171 * print.c (print_object): Remove var that is set but not used.
172
173 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
174 The gnulib version avoids calling malloc in the usual case,
175 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
176 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
177 * filelock.c (current_lock_owner): Likewise.
178 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
179 * sysdep.c: Include allocator.h, careadlinkat.h.
180 (emacs_no_realloc_allocator): New static constant.
181 (emacs_readlink): New function.
182 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
183 ../lib/careadlinkat.h.
184
185 2011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
186
187 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
188 first non-nil return value).
189
190 2011-04-03 Jan Djärv <jan.h.d@swipnet.se>
191
192 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
193 if not defined (Bug#8403).
194
195 2011-04-02 Juanma Barranquero <lekktu@gmail.com>
196
197 * xdisp.c (display_count_lines): Remove parameter `start',
198 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
199 (get_char_face_and_encoding): Remove parameter `multibyte_p',
200 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
201 (fill_stretch_glyph_string): Remove parameters `row' and `area',
202 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
203 and thereabouts. All callers changed.
204 (get_per_char_metric): Remove parameter `f', unused since
205 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
206
207 2011-04-02 Jim Meyering <meyering@redhat.com>
208
209 do not dereference NULL upon failed strdup
210 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
211 (ns_get_family): Likewise.
212
213 2011-04-02 Juanma Barranquero <lekktu@gmail.com>
214
215 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
216
217 2011-04-02 Jan Djärv <jan.h.d@swipnet.se>
218
219 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
220 later (Bug#8403).
221
222 2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
223
224 Add lexical binding.
225
226 * window.c (Ftemp_output_buffer_show): New fun.
227 (Fsave_window_excursion):
228 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
229
230 * lread.c (lisp_file_lexically_bound_p): New function.
231 (Fload): Bind Qlexical_binding.
232 (readevalloop): Remove `evalfun' arg.
233 Bind Qinternal_interpreter_environment.
234 (Feval_buffer): Bind Qlexical_binding.
235 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
236 Mark as dynamic.
237 (syms_of_lread): Declare `lexical-binding'.
238
239 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
240
241 * keyboard.c (eval_dyn): New fun.
242 (menu_item_eval_property): Use it.
243
244 * image.c (parse_image_spec): Use Ffunctionp.
245
246 * fns.c (concat, mapcar1): Accept byte-code-functions.
247
248 * eval.c (Fsetq): Handle lexical vars.
249 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
250 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
251 (FletX, Flet): Obey lexical binding.
252 (Fcommandp): Handle closures.
253 (Feval): New `lexical' arg.
254 (eval_sub): New function extracted from Feval. Use it almost
255 everywhere where Feval was used. Look up vars in lexical env.
256 Handle closures.
257 (Ffunctionp): Move from subr.el.
258 (Ffuncall): Handle closures.
259 (apply_lambda): Remove `eval_flags'.
260 (funcall_lambda): Handle closures and new byte-code-functions.
261 (Fspecial_variable_p): New function.
262 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
263 but without exporting it to Lisp.
264
265 * doc.c (Fdocumentation, store_function_docstring):
266 * data.c (Finteractive_form): Handle closures.
267
268 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
269 interactive spec.
270
271 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
272 byte-codes.
273 (exec_byte_code): New function extracted from Fbyte_code to handle new
274 calling convention for byte-code-functions. Add new byte-codes.
275
276 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
277
278 * alloc.c (Fmake_symbol): Init new `declared_special' field.
279
280 2011-03-31 Juanma Barranquero <lekktu@gmail.com>
281
282 * xdisp.c (redisplay_internal): Fix prototype.
283
284 2011-03-31 Eli Zaretskii <eliz@gnu.org>
285
286 * xdisp.c (SCROLL_LIMIT): New macro.
287 (try_scrolling): Use it when setting scroll_limit. Limit
288 scrolling to 100 screen lines.
289 (redisplay_window): Even when falling back on "recentering",
290 position point in the window according to scroll-conservatively,
291 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
292
293 (try_scrolling): When point is above the window, allow searching
294 as far as scroll_max, or one screenful, to compute vertical
295 distance from PT to the scroll margin position. This prevents
296 try_scrolling from unnecessarily failing when
297 scroll-conservatively is set to a value slightly larger than the
298 window height. Clean up the case of PT below the margin at bottom
299 of window: scroll_max can no longer be INT_MAX. When aggressive
300 scrolling is in use, don't let point enter the opposite scroll
301 margin as result of the scroll.
302 (syms_of_xdisp) <scroll-conservatively>: Document the
303 threshold of 100 lines for never-recentering scrolling.
304
305 2011-03-31 Juanma Barranquero <lekktu@gmail.com>
306
307 * dispextern.h (move_it_by_lines):
308 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
309 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
310 (message_log_check_duplicate): Remove parameters `prev_bol' and
311 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
312 (redisplay_internal): Remove parameter `preserve_echo_area',
313 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
314
315 * indent.c (Fvertical_motion):
316 * window.c (window_scroll_pixel_based, Frecenter):
317 Don't pass `need_y_p' to `move_it_by_lines'.
318
319 2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
320
321 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
322 steal a few bits to be more compact.
323 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
324 Remove unneeded casts.
325
326 * bytecode.c (Fbyte_code): CAR and CDR can GC.
327
328 2011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
329
330 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
331 binding" message (bug#7967).
332
333 2011-03-30 Paul Eggert <eggert@cs.ucla.edu>
334
335 Fix more problems found by GCC 4.6.0's static checks.
336
337 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
338 Remove unused local var.
339
340 * editfns.c (Fmessage_box): Remove unused local var.
341
342 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
343 (note_mode_line_or_margin_highlight, note_mouse_highlight):
344 Omit unused local vars.
345 * window.c (shrink_windows): Omit unused local var.
346 * menu.c (digest_single_submenu): Omit unused local var.
347 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
348 Omit unused local var.
349
350 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
351 Don't assume string length fits in int.
352 (keyremap_step, read_key_sequence): Use size_t for sizes.
353 (read_key_sequence): Don't check last_real_key_start redundantly.
354
355 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
356 instead of alloca (Bug#8344).
357
358 * eval.c (Fbacktrace): Don't assume nargs fits in int.
359 (Fbacktrace_frame): Don't assume nframes fits in int.
360
361 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
362
363 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
364 concerns.
365
366 * term.c (produce_glyphless_glyph): Remove unnecessary test.
367
368 * cm.c (calccost): Turn while-do into do-while, for clarity.
369
370 * keyboard.c (syms_of_keyboard): Use the same style as later
371 in this function when indexing through an array. This also
372 works around GCC bug 48267.
373
374 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
375
376 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
377
378 * chartab.c (sub_char_table_ref_and_range): Redo for slight
379 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
380
381 * keyboard.c, keyboard.h (num_input_events): Now size_t.
382 This avoids undefined behavior on integer overflow, and is a bit
383 more convenient anyway since it is compared to a size_t variable.
384
385 Variadic C functions now count arguments with size_t, not int.
386 This avoids an unnecessary limitation on 64-bit machines, which
387 caused (substring ...) to crash on large vectors (Bug#8344).
388 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
389 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
390 All variadic functions and their callers changed accordingly.
391 (struct gcpro.nvars): Now size_t, not int. All uses changed.
392 * data.c (arith_driver, float_arith_driver): Likewise.
393 * editfns.c (general_insert_function): Likewise.
394 * eval.c (struct backtrace.nargs, interactive_p)
395 (internal_condition_case_n, run_hook_with_args, apply_lambda)
396 (funcall_lambda, mark_backtrace): Likewise.
397 * fns.c (concat): Likewise.
398 * frame.c (x_set_frame_parameters): Likewise.
399 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
400 0 if not found, not -1. All callers changed.
401
402 * alloc.c (garbage_collect): Don't assume stack size fits in int.
403 (stack_copy_size): Now size_t, not int.
404 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
405
406 2011-03-28 Juanma Barranquero <lekktu@gmail.com>
407
408 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
409 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
410 All callers changed.
411
412 * lisp.h (multibyte_char_to_unibyte):
413 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
414 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
415 * character.h (CHAR_TO_BYTE8):
416 * cmds.c (internal_self_insert):
417 * editfns.c (general_insert_function):
418 * keymap.c (push_key_description):
419 * search.c (Freplace_match):
420 * xdisp.c (message_dolog, set_message_1): All callers changed.
421
422 2011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
423
424 * keyboard.c (safe_run_hook_funcall): New function.
425 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
426 don't set the hook to nil, but remove the offending function instead.
427 (Qcommand_hook_internal): Remove, unused.
428 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
429 Vcommand_hook_internal.
430
431 * eval.c (enum run_hooks_condition): Remove.
432 (funcall_nil, funcall_not): New functions.
433 (run_hook_with_args): Call each function through a `funcall' argument.
434 Remove `cond' argument, now redundant.
435 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
436 (Frun_hook_with_args_until_failure): Adjust accordingly.
437 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
438
439 2011-03-28 Juanma Barranquero <lekktu@gmail.com>
440
441 * dispextern.h (string_buffer_position): Remove declaration.
442
443 * print.c (strout): Remove parameter `multibyte', unused since
444 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
445
446 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
447 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
448 All callers changed.
449
450 * w32.c (_wsa_errlist): Use braces for struct initializers.
451
452 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
453 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
454 All callers changed.
455 (string_buffer_position): Likewise. Also, make static (it's never
456 used outside xdisp.c).
457 (cursor_row_p): Remove parameter `w', unused since
458 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
459 (decode_mode_spec): Remove parameter `precision', introduced during
460 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
461 All callers changed.
462
463 2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
464
465 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
466
467 2011-03-27 Anders Lindgren <andlind@gmail.com>
468
469 * nsterm.m (ns_menu_bar_is_hidden): New variable.
470 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
471 (ns_update_auto_hide_menu_bar): New functions.
472 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
473 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
474 ns_constrain_all_frames.
475 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
476 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
477
478 2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
479
480 * nsmenu.m (runDialogAt): Remove argument to timer_check.
481
482 2011-03-27 Glenn Morris <rgm@gnu.org>
483
484 * syssignal.h: Replace RETSIGTYPE with void.
485 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
486 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
487 Replace SIGTYPE with void everywhere.
488 * s/usg5-4-common.h (SIGTYPE): Remove definition.
489 * s/template.h (SIGTYPE): Remove commented out definition.
490
491 2011-03-26 Eli Zaretskii <eliz@gnu.org>
492
493 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
494 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
495
496 2011-03-26 Juanma Barranquero <lekktu@gmail.com>
497
498 * w32.c (read_unc_volume): Use parameter `henum', instead of
499 global variable `wget_enum_handle'.
500
501 * keymap.c (describe_vector): Remove parameters `indices' and
502 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
503 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
504
505 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
506
507 * keyboard.c (timer_check): Remove parameter `do_it_now',
508 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
509 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
510 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
511
512 * keyboard.c (read_char):
513 * w32menu.c (w32_menu_display_help):
514 * xmenu.c (show_help_event, menu_help_callback):
515 Adjust calls to `show_help_echo'.
516
517 * gtkutil.c (xg_maybe_add_timer):
518 * keyboard.c (readable_events):
519 * process.c (wait_reading_process_output):
520 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
521
522 * insdel.c (adjust_markers_gap_motion):
523 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
524 (gap_left, gap_right): Don't call it.
525
526 2011-03-25 Chong Yidong <cyd@stupidchicken.com>
527
528 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
529 incurred during fontification.
530
531 2011-03-25 Juanma Barranquero <lekktu@gmail.com>
532
533 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
534 (DEFVAR_PER_BUFFER): Don't pass it.
535
536 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
537 (scrolling_window): Don't pass it.
538
539 2011-03-25 Juanma Barranquero <lekktu@gmail.com>
540
541 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
542
543 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
544 and `suffix'.
545 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
546 of variables specific to SELinux and computation of `encoded_absname'.
547
548 * image.c (XPutPixel): Remove unused variable `height'.
549
550 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
551
552 * unexw32.c (get_section_info): Remove unused variable `section'.
553
554 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
555 (system_process_attributes): Remove unused variable `sess'.
556 (sys_read): Remove unused variable `err'.
557
558 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
559 (w32_wnd_proc): Remove unused variable `isdead'.
560 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
561 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
562 (x_create_tip_frame): Remove unused variable `tem'.
563
564 * w32inevt.c (w32_console_read_socket):
565 Remove unused variable `no_events'.
566
567 * w32term.c (x_draw_composite_glyph_string_foreground):
568 Remove unused variable `width'.
569
570 2011-03-24 Juanma Barranquero <lekktu@gmail.com>
571
572 * w32term.c (x_set_glyph_string_clipping):
573 Don't pass uninitialized region to CombineRgn.
574
575 2011-03-23 Juanma Barranquero <lekktu@gmail.com>
576
577 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
578 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
579 (Fx_close_connection): Remove unused variable `i'.
580
581 * w32font.c (w32font_draw): Return number of glyphs.
582 (w32font_open_internal): Remove unused variable `i'.
583 (w32font_driver): Add missing initializer.
584
585 * w32menu.c (utf8to16): Remove unused variable `utf16'.
586 (fill_in_menu): Remove unused variable `items_added'.
587
588 * w32term.c (last_mouse_press_frame): Remove static global variable.
589 (w32_clip_to_row): Remove unused variable `f'.
590 (x_delete_terminal): Remove unused variable `i'.
591
592 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
593 (NOTHING): Remove unused static global variable.
594 (uniscribe_check_otf): Remove unused variable `table'.
595 (uniscribe_font_driver): Add missing initializers.
596
597 2011-03-23 Julien Danjou <julien@danjou.info>
598
599 * term.c (Fsuspend_tty, Fresume_tty):
600 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
601 * window.c (temp_output_buffer_show):
602 * insdel.c (signal_before_change):
603 * frame.c (Fhandle_switch_frame):
604 * fileio.c (Fdo_auto_save):
605 * emacs.c (Fkill_emacs):
606 * editfns.c (save_excursion_restore):
607 * cmds.c (internal_self_insert):
608 * callint.c (Fcall_interactively):
609 * buffer.c (Fkill_all_local_variables):
610 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
611 Use Frun_hooks.
612 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
613 unconditionnaly since it does the check itself.
614
615 2011-03-23 Paul Eggert <eggert@cs.ucla.edu>
616
617 Fix more problems found by GCC 4.5.2's static checks.
618
619 * coding.c (encode_coding_raw_text): Avoid unnecessary test
620 the first time through the loop, since we know p0 < p1 then.
621 This also avoids a gcc -Wstrict-overflow warning.
622
623 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
624 leading to a memory leak, possible in functions like
625 load_charset_map_from_file that can allocate an unbounded number
626 of objects (Bug#8318).
627
628 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
629 that could (at least in theory) be that large.
630
631 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
632 This is less likely to overflow, and avoids undefined behavior if
633 overflow does occur. All callers changed. Use strtoul to scan
634 for the unsigned long integer.
635 (pint2hrstr): Simplify and tune code slightly.
636 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
637
638 * scroll.c (do_scrolling): Work around GCC bug 48228.
639 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
640
641 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
642 This also avoids a warning with gcc -Wstrict-overflow.
643 (validate_x_resource_name): Simplify count usage.
644 This also avoids a warning with gcc -Wstrict-overflow.
645
646 * fileio.c (Fcopy_file): Report error if fchown or fchmod
647 fail (Bug#8306).
648
649 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
650
651 * process.c (Fmake_network_process): Use socklen_t, not int,
652 where POSIX says socklen_t is required in portable programs.
653 This fixes a porting bug on hosts like 64-bit HP-UX, where
654 socklen_t is wider than int (Bug#8277).
655 (Fmake_network_process, server_accept_connection):
656 (wait_reading_process_output, read_process_output):
657 Likewise.
658
659 * process.c: Rename or move locals to avoid shadowing.
660 (list_processes_1, Fmake_network_process):
661 (read_process_output_error_handler, exec_sentinel_error_handler):
662 Rename or move locals.
663 (Fmake_network_process): Define label "retry_connect" only if needed.
664 (Fnetwork_interface_info): Fix pointer signedness.
665 (process_send_signal): Add cast to avoid pointer signedness problem.
666 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
667 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
668
669 Make tparam.h and terminfo.c consistent.
670 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
671 Include tparam.h instead, since it declares them.
672 * cm.h (PC): Remove extern decl; tparam.h now does this.
673 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
674 * terminfo.c: Include tparam.h, to check interfaces.
675 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
676 (tparam): Adjust signature to match interface in tparam.h;
677 this removes some undefined behavior. Check that outstring and len
678 are zero, which they always are with Emacs.
679 * tparam.h (PC, BC, UP): New extern decls.
680
681 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
682 (xftfont_open): Rename locals to avoid shadowing.
683
684 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
685 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
686 (OTF_TAG_SYM): Omit macro if not needed.
687 (ftfont_list): Remove unused local.
688 (get_adstyle_property, ftfont_pattern_entity):
689 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
690 Rename locals to avoid shadowing.
691
692 * xfont.c (xfont_list_family): Mark var as initialized.
693
694 * xml.c (make_dom): Now static.
695
696 * composite.c (composition_compute_stop_pos): Rename local to
697 avoid shadowing.
698 (composition_reseat_it): Remove unused locals.
699 (find_automatic_composition, composition_adjust_point): Likewise.
700 (composition_update_it): Mark var as initialized.
701 (find_automatic_composition): Mark vars as initialized,
702 with a FIXME (Bug#8290).
703
704 character.h: Rename locals to avoid shadowing.
705 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
706 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
707 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
708 (BUF_DEC_POS): Be more systematic about renaming local temporaries
709 to avoid shadowing.
710
711 * textprop.c (property_change_between_p): Remove; unused.
712
713 * intervals.c (interval_start_pos): Now static.
714
715 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
716
717 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
718 Rename locals to avoid shadowing.
719
720 * sound.c (wav_play, au_play, Fplay_sound_internal):
721 Fix pointer signedness.
722 (alsa_choose_format): Remove unused local var.
723 (wav_play): Initialize a variable to 0, to prevent undefined
724 behavior (Bug#8278).
725
726 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
727
728 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
729
730 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
731 clobbering (Bug#8298).
732 * sysdep.c (sys_subshell): Likewise.
733 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
734
735 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
736 This should get cleaned up, so that child_setup has the
737 same signature on all platforms.
738
739 * callproc.c (call_process_cleanup): Now static.
740 (relocate_fd): Rename locals to avoid shadowing.
741
742 2011-03-22 Chong Yidong <cyd@stupidchicken.com>
743
744 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
745 not to be necessary, and produces flickering.
746
747 2011-03-20 Glenn Morris <rgm@gnu.org>
748
749 * config.in: Remove file.
750
751 2011-03-20 Juanma Barranquero <lekktu@gmail.com>
752
753 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
754 are now in src/globals.h.
755 (syms_of_minibuf): Remove spurious & from previous change.
756
757 2011-03-20 Leo <sdl.web@gmail.com>
758
759 * minibuf.c (completing-read-function): New variable.
760 (completing-read-default): Rename from completing-read.
761 (completing-read): Call completing-read-function.
762
763 2011-03-19 Juanma Barranquero <lekktu@gmail.com>
764
765 * xfaces.c (Fx_load_color_file):
766 Read color file from absolute filename (bug#8250).
767
768 2011-03-19 Juanma Barranquero <lekktu@gmail.com>
769
770 * makefile.w32-in: Update dependencies.
771
772 2011-03-17 Eli Zaretskii <eliz@gnu.org>
773
774 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
775
776 2011-03-17 Paul Eggert <eggert@cs.ucla.edu>
777
778 Fix more problems found by GCC 4.5.2's static checks.
779
780 * process.c (make_serial_process_unwind, send_process_trap):
781 (sigchld_handler): Now static.
782
783 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
784 That way, the code declares only the vars that it needs.
785 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
786 * s/cygwin.h (PTY_ITERATION): Likewise.
787 * s/darwin.h (PTY_ITERATION): Likewise.
788 * s/gnu-linux.h (PTY_ITERATION): Likewise.
789
790 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
791 * process.c (allocate_pty): Don't declare stb unless it's needed.
792
793 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
794 (CONSTANTLIM): Remove; unused.
795 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
796 Define only if needed.
797
798 * unexelf.c (unexec): Name an expression,
799 to avoid gcc -Wbad-function-cast warning.
800 Use a different way to cause a compilation error if anyone uses
801 n rather than nn, a way that does not involve shadowing.
802 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
803
804 * deps.mk (unexalpha.o): Remove; unused.
805
806 New file unexec.h, the (simple) interface for unexec (Bug#8267).
807 * unexec.h: New file.
808 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
809 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
810 Depend on unexec.h.
811 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
812 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
813 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
814 Change as necessary to match prototype in unexec.h.
815
816 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
817 shadowing.
818 (back_comment, skip_chars): Mark vars as initialized.
819
820 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
821 Rename locals to avoid shadowing.
822
823 * lread.c (read1): Rewrite so as not to use empty "else".
824 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
825
826 * print.c (Fredirect_debugging_output): Fix pointer signedess.
827
828 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
829 warning when compiling print.c.
830
831 * font.c (font_unparse_fcname): Abort in an "impossible" situation
832 instead of using an uninitialized var.
833 (font_sort_entities): Mark var as initialized.
834
835 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
836
837 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
838 pointers to constants.
839 (font_parse_fcname): Remove unused vars.
840 (font_delete_unmatched): Now static.
841 (font_get_spec): Remove; unused.
842 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
843 (font_update_drivers, Ffont_get_glyphs, font_add_log):
844 Rename or move locals to avoid shadowing.
845
846 * fns.c (require_nesting_list, require_unwind): Now static.
847 (Ffillarray): Rename locals to avoid shadowing.
848
849 * floatfns.c (domain_error2): Define only if needed.
850 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
851
852 * alloc.c (mark_backtrace): Move decl from here ...
853 * lisp.h: ... to here, so that it can be checked.
854
855 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
856 (Fdefvar): Rewrite so as not to use empty "else".
857 (lisp_indirect_variable): Name an expression,
858 to avoid gcc -Wbad-function-cast warning.
859 (Fdefvar): Rename locals to avoid shadowing.
860
861 * callint.c (quotify_arg, quotify_args): Now static.
862 (Fcall_interactively): Rename locals to avoid shadowing.
863 Use const pointer when appropriate.
864
865 * lisp.h (get_system_name, get_operating_system_release):
866 Move decls here, to check interfaces.
867 * process.c (get_operating_system_release): Move decl to lisp.h.
868 * xrdb.c (get_system_name): Likewise.
869 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
870 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
871 some of which prompt warnings from gcc -Wbad-function-cast.
872 (Fformat_time_string, Fencode_time, Finsert_char):
873 (Ftranslate_region_internal, Fformat):
874 Rename or remove local vars to avoid shadowing.
875 (Ftranslate_region_internal): Mark var as initialized.
876
877 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
878 avoid shadowing.
879
880 * lisp.h (eassert): Check that the argument compiles, even if
881 ENABLE_CHECKING is not defined.
882
883 * data.c (Findirect_variable): Name an expression, to avoid
884 gcc -Wbad-function-cast warning.
885 (default_value, arithcompare, arith_driver, arith_error): Now static.
886 (store_symval_forwarding): Rename local to avoid shadowing.
887 (Fmake_variable_buffer_local, Fmake_local_variable):
888 Mark variables as initialized.
889 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
890
891 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
892 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
893 Rename locals to avoid shadowing.
894 (mark_stack): Move local variables into the #ifdef region where
895 they're used.
896 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
897 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
898 needed otherwise.
899 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
900 (GC_STRING_CHARS): Remove; not used.
901 (Fmemory_limit): Cast sbrk's returned value to char *.
902
903 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
904 avoids undefined behavior in theory.
905
906 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
907
908 Use functions, not macros, for up- and down-casing (Bug#8254).
909 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
910 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
911 to use the following functions instead of these macros.
912 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
913 EMACS_INT, since callers assume the returned value fits in int.
914 (upcase1): Likewise, for UPCASE_TABLE.
915 (uppercasep, lowercasep, upcase): New static inline functions.
916 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
917 the race-condition problem in the old DOWNCASE.
918
919 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
920 Rename locals to avoid shadowing.
921 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
922 (regex_compile, re_search_2, re_match_2_internal):
923 Remove unused local vars.
924 (FREE_VAR): Rewrite so as not to use empty "else",
925 which gcc can warn about.
926 (regex_compile, re_match_2_internal): Mark locals as initialized.
927 (RETALLOC_IF): Define only if needed.
928 (WORDCHAR_P): Likewise. This one is never needed, but is used
929 only in a comment talking about a compiler bug, so put inside
930 the #if 0 of that comment.
931 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
932 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
933 Remove; unused.
934
935 * search.c (boyer_moore): Rename locals to avoid shadowing.
936 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
937 (PREV_CHAR_BOUNDARY): Likewise.
938
939 * search.c (simple_search): Remove unused var.
940
941 * dired.c (compile_pattern): Move decl from here ...
942 * lisp.h: ... to here, so that it can be checked.
943 (struct re_registers): New forward decl.
944
945 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
946
947 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
948 All uses changed.
949 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
950 Rename locals to avoid shadowing.
951 (Fvertical_motion): Mark locals as initialized.
952
953 * casefiddle.c (casify_object, casify_region): Now static.
954 (casify_region): Mark local as initialized.
955
956 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
957
958 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
959 New macros, so that the caller can use some names other than
960 gcpro1, gcpro2, etc.
961 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
962 of the new macros.
963 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
964 argument, for consistency with GCPRO2_VAR, etc: it is now the
965 prefix of the variable, not the variable itself. All uses
966 changed.
967 * dired.c (directory_files_internal, file_name_completion):
968 Rename locals to avoid shadowing.
969
970 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
971 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
972 dired.c's scmp function, had undefined behavior.
973 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
974 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
975 * buffer.h: ... to here, because these macros use current_buffer,
976 and the new implementation with inline functions needs to have
977 current_buffer in scope now, rather than later when the macros
978 are used.
979 (downcase, upcase1): New static inline functions.
980 (DOWNCASE, UPCASE1): Reimplement using these functions.
981 This avoids undefined behavior in expressions like
982 DOWNCASE (x) == DOWNCASE (y), which previously suffered
983 from race conditions in accessing the global variables
984 case_temp1 and case_temp2.
985 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
986 * lisp.h (case_temp1, case_temp2): Remove their decls.
987 * character.h (ASCII_CHAR_P): Move from here ...
988 * lisp.h: ... to here, so that the inline functions mentioned
989 above can use them.
990
991 * dired.c (directory_files_internal_unwind): Now static.
992
993 * fileio.c (file_name_as_directory, directory_file_name):
994 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
995 Now static.
996 (file_name_as_directory): Use const pointers when appropriate.
997 (Fexpand_file_name): Likewise. In particular, newdir might
998 point at constant storage, so make it a const pointer.
999 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
1000 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
1001 signedness issues.
1002 (Fset_file_times, Finsert_file_contents, auto_save_error):
1003 Rename locals to avoid shadowing.
1004
1005 * minibuf.c (choose_minibuf_frame_1): Now static.
1006 (Ftry_completion, Fall_completions): Rename or remove locals
1007 to avoid shadowing.
1008
1009 * marker.c (bytepos_to_charpos): Remove; unused.
1010
1011 * lisp.h (verify_bytepos, count_markers): New decls,
1012 so that gcc does not warn that these functions aren't declared.
1013
1014 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
1015 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
1016 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
1017 (copy_text): Remove unused local var.
1018
1019 * filelock.c (within_one_second): Now static.
1020 (lock_file_1): Rename local to avoid shadowing.
1021
1022 * buffer.c (fix_overlays_before): Mark locals as initialized.
1023 (fix_start_end_in_overlays): Likewise. This function should be
1024 simplified by using pointers-to-pointers, but that's a different
1025 matter.
1026 (switch_to_buffer_1): Now static.
1027 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
1028 (report_overlay_modification): Rename locals to avoid shadowing.
1029
1030 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
1031 Fix pointer signedness issue.
1032 (sys_subshell): Mark local as volatile if checking for lint,
1033 to suppress a gcc -Wclobbered warning that does not seem to be right.
1034 (MAXPATHLEN): Define only if needed.
1035
1036 * process.c (serial_open, serial_configure): Move decls from here ...
1037 * systty.h: ... to here, so that they can be checked.
1038
1039 * fns.c (get_random, seed_random): Move extern decls from here ...
1040 * lisp.h: ... to here, so that they can be checked.
1041
1042 * sysdep.c (reset_io): Now static.
1043 (wait_for_termination_signal): Remove; unused.
1044
1045 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
1046 (copy_keymap_item, append_key, push_text_char_description):
1047 Now static.
1048 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
1049 (DENSE_TABLE_SIZE): Remove; unused.
1050 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
1051 (describe_map_tree):
1052 Rename locals to avoid shadowing.
1053
1054 * keyboard.c: Declare functions static if they are not used elsewhere.
1055 (echo_char, echo_dash, cmd_error, top_level_2):
1056 (poll_for_input, handle_async_input): Now static.
1057 (read_char, kbd_buffer_get_event, make_lispy_position):
1058 (make_lispy_event, make_lispy_movement, apply_modifiers):
1059 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
1060 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
1061 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
1062 (read_key_sequence, read_char): Mark locals as initialized.
1063 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
1064
1065 * keyboard.h (make_ctrl_char): New decl.
1066 (mark_kboards): Move decl here ...
1067 * alloc.c (mark_kboards): ... from here.
1068
1069 * lisp.h (force_auto_save_soon): New decl.
1070
1071 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
1072 (DEFINE_DUMMY_FUNCTION): New macro.
1073 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
1074 Use it.
1075 (main): Add casts to avoid warnings
1076 if GCC considers string literals to be constants.
1077
1078 * lisp.h (fatal_error_signal): Add decl, since it's exported.
1079
1080 * dbusbind.c: Pointer signedness fixes.
1081 (xd_signature, xd_append_arg, xd_initialize):
1082 (Fdbus_call_method, Fdbus_call_method_asynchronously):
1083 (Fdbus_method_return_internal, Fdbus_method_error_internal):
1084 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
1085 (Fdbus_register_signal): Use SSDATA when the context wants char *.
1086
1087 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
1088 if GCC considers string literals to be constants.
1089 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
1090
1091 2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
1092
1093 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
1094 (print_preprocess, print_object): New macro to fix last change.
1095
1096 * print.c (print_preprocess): Don't forget font objects.
1097
1098 2011-03-16 Juanma Barranquero <lekktu@gmail.com>
1099
1100 * emacs.c (USAGE3): Doc fixes.
1101
1102 2011-03-15 Andreas Schwab <schwab@linux-m68k.org>
1103
1104 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
1105 structure.
1106
1107 2011-03-14 Juanma Barranquero <lekktu@gmail.com>
1108
1109 * lisp.h (VWindow_system, Qfile_name_history):
1110 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
1111 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
1112 (w32_system_caret_x, w32_system_caret_y): Declare extern.
1113
1114 * w32select.c: Don't #include "keyboard.h".
1115 (run_protected): Add extern declaration for waiting_for_input.
1116
1117 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
1118 * w32console.c (detect_input_pending, read_input_pending)
1119 (encode_terminal_code):
1120 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
1121 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
1122 (w32_system_caret_y, Qfile_name_history):
1123 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
1124 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
1125 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
1126 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
1127 * w32proc.c (Qlocal, report_file_error):
1128 * w32term.c (Vwindow_system, updating_frame):
1129 * w32uniscribe.c (initialized, uniscribe_font_driver):
1130 Remove unneeded extern declarations.
1131
1132 2011-03-14 Chong Yidong <cyd@stupidchicken.com>
1133
1134 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
1135
1136 2011-03-13 Chong Yidong <cyd@stupidchicken.com>
1137
1138 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
1139 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
1140 These macros can no longer be used for assignment.
1141
1142 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
1143 Assign struct members directly, instead of using BUF_BEGV etc.
1144 (record_buffer_markers, fetch_buffer_markers): New functions for
1145 recording and fetching special buffer markers.
1146 (set_buffer_internal_1, set_buffer_temp): Use them.
1147
1148 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
1149
1150 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
1151
1152 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
1153 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
1154
1155 * xdisp.c (hscroll_window_tree):
1156 (reconsider_clip_changes): Use PT instead of BUF_PT.
1157
1158 2011-03-13 Eli Zaretskii <eliz@gnu.org>
1159
1160 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
1161 $(EMACS_ROOT)/lib/intprops.h.
1162
1163 2011-03-13 Paul Eggert <eggert@cs.ucla.edu>
1164
1165 Fix more problems found by GCC 4.5.2's static checks.
1166
1167 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
1168 to unsigned char * to avoid compiler diagnostic.
1169 (xg_free_frame_widgets): Make it clear that a local variable is
1170 needed only if USE_GTK_TOOLTIP.
1171 (gdk_window_get_screen): Make it clear that this macro is needed
1172 only if USE_GTK_TOOLTIP.
1173 (int_gtk_range_get_value): New function, which avoids a diagnostic
1174 from gcc -Wbad-function-cast.
1175 (xg_set_toolkit_scroll_bar_thumb): Use it.
1176 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
1177 diagnostic from gcc -Wbad-function-cast.
1178 (get_utf8_string, xg_get_file_with_chooser):
1179 Rename locals to avoid shadowing.
1180 (create_dialog): Move locals to avoid shadowing.
1181
1182 * xgselect.c (xg_select): Remove unused var.
1183
1184 * image.c (four_corners_best): Mark locals as initialized.
1185 (gif_load): Initialize transparent_p to zero (Bug#8238).
1186 Mark another local as initialized.
1187 (my_png_error, my_error_exit): Mark with NO_RETURN.
1188
1189 * image.c (clear_image_cache): Now static.
1190 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
1191 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
1192 (x_edge_detection): Remove unnecessary cast that
1193 gcc -Wbad-function-cast diagnoses.
1194 (gif_load): Fix pointer signedness.
1195 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
1196 (jpeg_load, gif_load): Rename locals to avoid shadowing.
1197
1198 2011-03-12 Paul Eggert <eggert@cs.ucla.edu>
1199
1200 Improve quality of tests for time stamp overflow.
1201 For example, without this patch (encode-time 0 0 0 1 1
1202 1152921504606846976) returns the obviously-bogus value (-948597
1203 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
1204 reports time overflow. See
1205 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
1206 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
1207 * editfns.c: Include limits.h and intprops.h.
1208 (TIME_T_MIN, TIME_T_MAX): New macros.
1209 (time_overflow): Move earlier, to before first use.
1210 (hi_time, lo_time): New functions, for an accurate test for
1211 out-of-range times.
1212 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
1213 (Fget_internal_run_time): Don't assume time_t fits in int.
1214 (make_time): Use list2 instead of Fcons twice.
1215 (Fdecode_time): More accurate test for out-of-range times.
1216 (check_tm_member): New function.
1217 (Fencode_time): Use it, to test for out-of-range times.
1218 (lisp_time_argument): Don't rely on undefined left-shift and
1219 right-shift behavior when checking for time stamp overflow.
1220
1221 * editfns.c (time_overflow): New function, refactoring common code.
1222 (Fformat_time_string, Fdecode_time, Fencode_time):
1223 (Fcurrent_time_string): Use it.
1224
1225 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
1226 * dired.c (make_time): Move to ...
1227 * editfns.c (make_time): ... here.
1228 * systime.h: Note the move.
1229
1230 2011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1231
1232 * fringe.c (update_window_fringes): Remove unused variables.
1233
1234 * unexmacosx.c (copy_data_segment): Also copy __got section.
1235 (Bug#8223)
1236
1237 2011-03-12 Eli Zaretskii <eliz@gnu.org>
1238
1239 * termcap.c [MSDOS]: Include "msdos.h".
1240 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
1241 Constify `char *' arguments and their references according to
1242 prototypes in tparam.h.
1243
1244 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
1245
1246 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
1247 Adapt all references accordingly.
1248
1249 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
1250
1251 2011-03-11 Tom Tromey <tromey@redhat.com>
1252
1253 * buffer.c (syms_of_buffer): Remove obsolete comment.
1254
1255 2011-03-11 Eli Zaretskii <eliz@gnu.org>
1256
1257 * termhooks.h (encode_terminal_code): Declare prototype.
1258
1259 * msdos.c (encode_terminal_code): Don't declare prototype.
1260
1261 * term.c (encode_terminal_code): Now external again, used by
1262 w32console.c and msdos.c.
1263
1264 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
1265 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
1266
1267 2011-03-11 Paul Eggert <eggert@cs.ucla.edu>
1268
1269 Fix some minor problems found by GCC 4.5.2's static checks.
1270
1271 * fringe.c (update_window_fringes): Mark locals as initialized
1272 (Bug#8227).
1273 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
1274
1275 * alloc.c (mark_fringe_data): Move decl from here ...
1276 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
1277 to check its interface.
1278 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
1279
1280 * fontset.c (free_realized_fontset): Now static.
1281 (Fset_fontset_font): Rename local to avoid shadowing.
1282 (fontset_font): Mark local as initialized.
1283 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
1284
1285 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
1286
1287 * xselect.c (x_disown_buffer_selections): Remove; not used.
1288 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
1289 (x_own_selection, Fx_disown_selection_internal): Rename locals
1290 to avoid shadowing.
1291 (x_handle_dnd_message): Remove local to avoid shadowing.
1292
1293 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
1294 so that the caller can use some name other than gcpro1.
1295 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
1296 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1297 (Fx_backspace_delete_keys_p):
1298 Use them to avoid shadowing, and rename vars to avoid shadowing.
1299 (x_decode_color, x_set_name, x_window): Now static.
1300 (Fx_create_frame): Add braces to silence GCC warning.
1301 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
1302 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
1303 Remove unused locals.
1304 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1305 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
1306 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
1307 macros.
1308
1309 * xterm.h (x_mouse_leave): New decl.
1310
1311 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
1312 Remove unused functions.
1313 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
1314 (x_calc_absolute_position): Now static.
1315 (XTread_socket): Don't define label "out" unless it's used.
1316 Don't declare local "event" unless it's used.
1317 (x_iconify_frame, x_free_frame_resources): Don't declare locals
1318 unless they are used.
1319 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
1320 (x_fatal_error_signal): Remove; not used.
1321 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
1322 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
1323 (x_error_catcher, x_connection_closed, x_error_handler):
1324 (x_error_quitter, xembed_send_message, x_iconify_frame):
1325 (my_log_handler): Rename locals to avoid shadowing.
1326 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
1327 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
1328
1329 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
1330 Rename or move locals to avoid shadowing.
1331 (tty_defined_color, merge_face_heights): Now static.
1332 (free_realized_faces_for_fontset): Remove; not used.
1333 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
1334 does not deduce is never used uninitialized.
1335 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
1336 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
1337
1338 * terminal.c (store_terminal_param): Now static.
1339
1340 * xmenu.c (menu_highlight_callback): Now static.
1341 (set_frame_menubar): Remove unused local.
1342 (xmenu_show): Rename parameter to avoid shadowing.
1343 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
1344 since they might point to immutable storage.
1345 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
1346 since it's unused otherwise.
1347
1348 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
1349 Add a FIXME, since the code still doesn't look right. (Bug#8215)
1350 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
1351 avoids a gcc -Wuninitialized diagnostic.
1352 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
1353 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
1354 does not deduce are never used uninitialized.
1355
1356 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
1357
1358 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
1359 * window.c (window_loop, size_window):
1360 (run_window_configuration_change_hook, enlarge_window): Likewise.
1361
1362 * window.c (display_buffer): Now static.
1363 (size_window): Mark variables that gcc -Wuninitialized
1364 does not deduce are never used uninitialized.
1365 * window.h (check_all_windows): New decl, to forestall
1366 gcc -Wmissing-prototypes diagnostic.
1367 * dispextern.h (bidi_dump_cached_states): Likewise.
1368
1369 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
1370 shadowing.
1371 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
1372 Include <limits.h>.
1373 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
1374 and to avoid gcc -Wuninitialized warning.
1375 (load_charset_map): Mark variables that gcc -Wuninitialized
1376 does not deduce are never used uninitialized.
1377 (load_charset): Abort instead of using uninitialized var (Bug#8229).
1378
1379 * coding.c (coding_set_source, coding_set_destination):
1380 Use "else { /* comment */ }" rather than "else /* comment */;"
1381 for clarity, and to avoid gcc -Wempty-body warning.
1382 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
1383 a block, when the outer 'i' will do.
1384 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
1385 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
1386 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
1387 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
1388 (Fdecode_sjis_char, Fdefine_coding_system_internal):
1389 Rename locals to avoid shadowing.
1390 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
1391 * coding.c (emacs_mule_char, encode_invocation_designation):
1392 Now static, since they're not used elsewhere.
1393 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
1394 (decode_coding_object, encode_coding_object, detect_coding_system):
1395 (decode_coding_emacs_mule): Mark variables that gcc
1396 -Wuninitialized does not deduce are never used uninitialized.
1397 (detect_coding_iso_2022): Initialize a local variable that might
1398 be used uninitialized. Leave a FIXME because it's not clear that
1399 this initialization is needed. (Bug#8211)
1400 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
1401 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
1402 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
1403 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
1404 Remove unused macros.
1405
1406 * category.c (hash_get_category_set): Remove unused local var.
1407 (copy_category_table): Now static, since it's not used elsewhere.
1408 * character.c (string_count_byte8): Likewise.
1409
1410 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
1411 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
1412
1413 * chartab.c (copy_sub_char_table): Now static, since it's not used
1414 elsewhere.
1415 (sub_char_table_ref_and_range, char_table_ref_and_range):
1416 Rename locals to avoid shadowing.
1417 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
1418
1419 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
1420 (BIDI_BOB): Remove unused macro.
1421
1422 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
1423 deduce are never used uninitialized.
1424 * term.c (encode_terminal_code): Likewise.
1425
1426 * term.c (encode_terminal_code): Now static. Remove unused local.
1427
1428 * tparam.h: New file.
1429 * term.c, tparam.h: Include it.
1430 * deps.mk (term.o, tparam.o): Depend on tparam.h.
1431 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
1432 Move these decls to tparam.h, and make them agree with what
1433 is actually in tparam.c. The previous trick of using incompatible
1434 decls in different modules does not conform to the C standard.
1435 All callers of tparam changed to use tparam's actual API.
1436 * tparam.c (tparam1, tparam, tgoto):
1437 Use const pointers where appropriate.
1438
1439 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
1440 * cm.h (struct cm): Likewise.
1441 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
1442 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
1443 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
1444 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
1445 (turn_on_face, init_tty): Likewise.
1446 * termchar.h (struct tty_display_info): Likewise.
1447
1448 * term.c (term_mouse_position): Rename local to avoid shadowing.
1449
1450 * alloc.c (mark_ttys): Move decl from here ...
1451 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
1452
1453 2011-03-11 Andreas Schwab <schwab@linux-m68k.org>
1454
1455 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
1456
1457 2011-03-09 Juanma Barranquero <lekktu@gmail.com>
1458
1459 * search.c (compile_pattern_1): Remove argument regp, unused since
1460 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
1461 (compile_pattern): Don't pass it.
1462
1463 2011-03-08 Jan Djärv <jan.h.d@swipnet.se>
1464
1465 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
1466 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
1467 for ! HAVE_GTK3.
1468 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
1469
1470 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
1471
1472 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
1473 gdk_window_get_screen, gdk_window_get_geometry,
1474 gdk_x11_window_lookup_for_display and GDK_KEY_g.
1475 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
1476 (xg_get_pixbuf_from_pixmap): New function.
1477 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
1478 to Pixmap, take frame as parameter, remove GdkColormap parameter.
1479 Call xg_get_pixbuf_from_pixmap instead of
1480 gdk_pixbuf_get_from_drawable.
1481 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
1482 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
1483 (xg_check_special_colors): Use GtkStyleContext and its functions
1484 for HAVE_GTK3.
1485 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
1486 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
1487 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
1488 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
1489 Call gtk_widget_get_preferred_size.
1490 (xg_frame_resized): gdk_window_get_geometry only takes 5
1491 parameters.
1492 (xg_win_to_widget, xg_event_is_for_menubar):
1493 Call gdk_x11_window_lookup_for_display.
1494 (xg_set_widget_bg): New function.
1495 (delete_cb): New function.
1496 (xg_create_frame_widgets): connect delete-event to delete_cb.
1497 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
1498 (xg_set_background_color): Call xg_set_widget_bg.
1499 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
1500 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
1501 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
1502 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
1503 if ! HAVE_GTK3.
1504 (update_frame_tool_bar): Call gtk_widget_hide.
1505 (xg_initialize): Use GDK_KEY_g.
1506
1507 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
1508 if ! HAVE_GTK3
1509 (x_session_initialize): Call gdk_x11_set_sm_client_id.
1510
1511 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
1512 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
1513 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
1514
1515 2011-03-08 Juanma Barranquero <lekktu@gmail.com>
1516
1517 * w32xfns.c (select_palette): Check success of RealizePalette against
1518 GDI_ERROR, not zero.
1519
1520 See ChangeLog.11 for earlier changes.
1521
1522 ;; Local Variables:
1523 ;; coding: utf-8
1524 ;; End:
1525
1526 Copyright (C) 2011 Free Software Foundation, Inc.
1527
1528 This file is part of GNU Emacs.
1529
1530 GNU Emacs is free software: you can redistribute it and/or modify
1531 it under the terms of the GNU General Public License as published by
1532 the Free Software Foundation, either version 3 of the License, or
1533 (at your option) any later version.
1534
1535 GNU Emacs is distributed in the hope that it will be useful,
1536 but WITHOUT ANY WARRANTY; without even the implied warranty of
1537 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1538 GNU General Public License for more details.
1539
1540 You should have received a copy of the GNU General Public License
1541 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.