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