* xrdb.c (x_load_resources) [!USE_MOTIF]: Omit unused local.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4887c6e2 12011-04-16 Paul Eggert <eggert@cs.ucla.edu>
764430a3 2
3565b346
PE
3 * xrdb.c (x_load_resources) [!USE_MOTIF]: Omit unused local.
4
436c16df 5 * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
8a94ea33 6 (x_window): Rename locals to avoid shadowing.
dc5ddd85 7 (USG): Use the kludged USG macro, to pacify gcc.
436c16df 8
92bb796d 9 * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
bbbef9e1 10 (x_term_init): Remove local to avoid shadowing.
92bb796d 11
764430a3 12 * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
4887c6e2
PE
13
14 * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
15 USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
16
4170f62f 172011-04-15 Paul Eggert <eggert@cs.ucla.edu>
3e047f51 18
71b41406
PE
19 * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
20
9587a89d
PE
21 emacs_write: Accept and return EMACS_INT for sizes.
22 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
23 et seq.
24 * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
25 Accept and return EMACS_INT.
26 (emacs_gnutls_write): Return the number of bytes written on
27 partial writes.
28 * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
273a5f82
PE
29 (emacs_read, emacs_write): Remove check for negative size, as the
30 Emacs source code has been audited now.
9587a89d
PE
31 * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
32 (emacs_read, emacs_write): Use it.
273a5f82
PE
33 * process.c (send_process): Adjust to the new signatures of
34 emacs_write and emacs_gnutls_write. Do not attempt to store
35 a byte offset into an 'int'; it might overflow.
9587a89d 36 See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
273a5f82 37
3e047f51
PE
38 * sound.c: Don't assume sizes fit in 'int'.
39 (struct sound_device.period_size, alsa_period_size):
9c3c56a7 40 Return EMACS_INT, not int.
3e047f51 41 (struct sound_device.write, vox_write, alsa_write):
9c3c56a7
PE
42 Accept EMACS_INT, not int.
43 (wav_play, au_play): Use EMACS_INT to store sizes and to
3e047f51
PE
44 record read return values.
45
cc39a9db
BK
462011-04-15 Ben Key <bkey76@gmail.com>
47
48 * keyboard.c (Qundefined): Don't declare static since it is
49 used in nsfns.m.
50 * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't
51 declare static since they are used in nsfont.m.
52
6c60eb9f
SM
532011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
54
55 * process.c (Qprocessp): Don't declare static.
56 * lisp.h (Qprocessp): Declare again.
57
7990b61a
JB
582011-04-15 Juanma Barranquero <lekktu@gmail.com>
59
60 * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
61
5d4cb038
PE
622011-04-14 Paul Eggert <eggert@cs.ucla.edu>
63
8bd7b830 64 Improve C-level modularity by making more things 'static'.
cd64ea1d 65
e3b27b31
PE
66 Don't publish debugger-only interfaces to other modules.
67 * lisp.h (safe_debug_print, debug_output_compilation_hack):
68 (verify_bytepos, count_markers): Move decls to the only modules
69 that need them.
70 * region-cache.h (pp_cache): Likewise.
71 * window.h (check_all_windows): Likewise.
72 * marker.c, print.c, region-cache.c, window.c: Decls moved here.
73
5d4cb038
PE
74 * sysdep.c (croak): Now static, if
75 defined TIOCNOTTY || defined USG5 || defined CYGWIN.
76 * syssignal.h (croak): Declare only if not static.
69003fd8
PE
77
78 * alloc.c (refill_memory_reserve): Now static if
79 !defined REL_ALLOC || defined SYSTEM_MALLOC.
80 * lisp.h (refill_memory_reserve): Declare only if not static.
93ea6e8f 81
e87b6180
PE
82 * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
83 Define only if USE_LUCID.
84
ac64929e
PE
85 * xrdb.c (x_customization_string, x_rm_string): Now static.
86
6f37259d
PE
87 * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
88 * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
89
1683e3ab
PE
90 * xdisp.c (draw_row_with_mouse_face): Now static.
91 * dispextern.h (draw_row_with_mouse_fave): Remove decl.
92
de9c2632
PE
93 * window.h (check_all_windows): Mark externally visible.
94
2b96acb7
PE
95 * window.c (window_deletion_count): Now static.
96
97 * undo.c: Make symbols static if they're not exported.
98 (last_undo_buffer, last_boundary_position, pending_boundary):
99 Now static.
100
50436f33
PE
101 * textprop.c (interval_insert_behind_hooks): Now static.
102 (interval_insert_in_front_hooks): Likewise.
103
64520e5c
PE
104 * term.c: Make symbols static if they're not exported.
105 (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
106 (max_frame_lines, tty_set_terminal_modes):
107 (tty_reset_terminal_modes, tty_turn_off_highlight):
108 (get_tty_terminal): Now static.
109 (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
110 * termhooks.h (term_mouse_moveto): Do not declare if
8bd7b830 111 HAVE_WINDOW_SYSTEM.
64520e5c
PE
112 * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
113 (tty_turn_off_highlight, get_tty_terminal): Remove decls.
114
1fa53021
PE
115 * sysdep.c: Make symbols static if they're not exported.
116 (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
117 Now static.
118 (sigprocmask_set, full_mask): Remove; unused.
119 (wait_debugging): Mark as visible.
120 * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
121 * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
122
d4b43b22
PE
123 * syntax.c (syntax_temp): Define only if !__GNUC__.
124
b7c513d0
PE
125 * sound.c (current_sound_device, current_sound): Now static.
126
989b29ad
PE
127 * search.c (searchbufs, searchbuf_head): Now static.
128
13a55a78
PE
129 * scroll.c (scroll_cost): Remove; unused.
130 * dispextern.h (scroll_cost): Remove decl.
131
de68a1fc
PE
132 * region-cache.h (pp_cache): Mark as externally visible.
133
40ccffa6
PE
134 * process.c: Make symbols static if they're not exported.
135 (process_tick, update_tick, create_process, chan_process):
136 (Vprocess_alist, proc_buffered_char, datagram_access):
137 (fd_callback_data, send_process_frame, process_sent_to): Now static.
138 (deactivate_process): Mark defn as static, as well as decl.
139 * lisp.h (create_process): Remove decl.
140 * process.h (chan_process, Vprocess_alist): Remove decls.
141
ad64fc97
PE
142 * print.c: Make symbols static if they're not exported.
143 (print_depth, new_backquote_output, being_printed, print_buffer):
144 (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
145 (print_interval, print_number_index, initial_stderr_stream):
146 Now static.
147 * lisp.h (Fprinc): Remove decl.
148 (debug_output_compilation_hack): Mark as externally visible.
149
adddb265
PE
150 * sysdep.c (croak): Move decl from here to syssignal.h.
151 * syssignal.h (croak): Put it here, so the API can be checked when
152 'croak' is called from dissociate_if_controlling_tty.
153
1717ede2
PE
154 * minibuf.c: Make symbols static if they're not exported.
155 (minibuf_save_list, choose_minibuf_frame): Now static.
156 * lisp.h (choose_minibuf_frame): Remove decl.
157
fa5fb2bc
PE
158 * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
159
1e3890d1
PE
160 * lread.c: Make symbols static if they're not exported.
161 (read_objects, initial_obarray, oblookup_last_bucket_number):
162 Now static.
163 (make_symbol): Remove; unused.
164 * lisp.h (initial_obarray, make_symbol): Remove decls.
165
8a1414fa
PE
166 * keyboard.c: Make symbols static if they're not exported.
167 (single_kboard, recent_keys_index, total_keys, recent_keys):
168 (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
169 (this_single_command_key_start, echoing, last_auto_save):
170 (read_key_sequence_cmd, dribble, recursive_edit_unwind):
171 (command_loop, echo_now, keyboard_init_hook, help_char_p):
172 (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
173 (Vlispy_mouse_stem, double_click_count):
174 Now static.
175 (force_auto_save_soon): Define only if SIGDANGER.
176 (ignore_mouse_drag_p): Now static if
177 !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
178 (print_help): Remove; unused.
179 (stop_character, last_timer_event): Mark as externally visible.
180 * keyboard.h (ignore_mouse_drag_p): Declare only if
181 defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
182 (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
183 * lisp.h (echoing): Remove decl.
184 (force_auto_save_soon): Declare only if SIGDANGER.
185 * xdisp.c (redisplay_window): Simplify code, to make it more
186 obvious that ignore_mouse_drag_p is not accessed if !defined
187 USE_GTK && !defined HAVE_NS.
188
93ea6e8f
PE
189 * intervals.c: Make symbols static if they're not exported.
190 (merge_properties_sticky, merge_interval_right, delete_interval):
191 Now static.
192 * intervals.h (merge_interval_right, delete_interval): Remove decls.
193
77382fcc
PE
194 * insdel.c: Make symbols static if they're not exported.
195 However, leave prepare_to_modify_buffer alone. It's never
196 called from outside this function, but that appears to be a bug.
197 (combine_after_change_list, combine_after_change_buffer):
4889fc82 198 (adjust_after_replace, signal_before_change): Now static.
77382fcc
PE
199 (adjust_after_replace_noundo): Remove; unused.
200 * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
4889fc82 201 (signal_before_change): Remove decls.
77382fcc 202
9306c32e
PE
203 * indent.c (val_compute_motion, val_vmotion): Now static.
204
cd44d2eb
PE
205 * image.c: Make symbols static if they're not exported.
206 * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
207 if USE_GTK.
208 * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
209 (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
210
ad9a7a06
PE
211 * fringe.c (standard_bitmaps): Now static.
212 (max_used_fringe_bitmap): Now static, unless HAVE_NS.
213
81626931
PE
214 * frame.c: Make symbols static if they're not exported.
215 (x_report_frame_params, make_terminal_frame): Now static.
216 (get_frame_param): Now static, unless HAVE_NS.
217 (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
218 (x_get_resource_string): Remove; not used.
219 * frame.h (make_terminal_frame, x_report_frame_params):
220 (x_get_resource_string); Remove decls.
221 (x_fullscreen_adjust): Declare only if WINDOWSNT.
222 * lisp.h (get_frame_param): Declare only if HAVE_NS.
223
239f9db9
PE
224 * font.c, fontset.c: Make symbols static if they're not exported.
225 * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
226 (FACE_SUITABLE_FOR_CHAR_P): Use it.
227 * font.c (font_close_object): Now static.
228 * font.h (font_close_object): Remove.
229 * fontset.c (FONTSET_OBJLIST): Remove.
230 (free_realized_fontset) #if-0 the body, which does nothing.
231 (face_suitable_for_char_p): #if-0, as it's never called.
232 * fontset.h (face_suitable_for_char_p): Remove decl.
233 * xfaces.c (face_at_string_position): Use
234 FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
235 since 0 is always ASCII.
236
dfcf3579
PE
237 * fns.c (weak_hash_tables): Now static.
238
5045092b
PE
239 * fileio.c: Make symbols static if they're not exported.
240 (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
241 (Vwrite_region_annotation_buffers): Now static.
242
57a96f5c
PE
243 * eval.c: Make symbols static if they're not exported.
244 (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
245 * lisp.h (backtrace_list): Remove decl.
246
35f08c38
PE
247 * emacs.c: Make symbols static if they're not exported.
248 (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
249 (fatal_error_code, fatal_error_signal_hook, standard_args):
250 Now static.
251 (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
252 (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
253 (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
254 * lisp.h (fatal_error_signal_hook): Remove decl.
255 (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
256
f44bd759
PE
257 * editfns.c: Move a (normally-unused) function to its only use.
258 * editfns.c, lisp.h (get_operating_system_release): Remove.
259 * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
260 worth the hassle of breaking this out.
261
b532497d
PE
262 * xterm.c: Make symbols static if they're not exported.
263 (x_raise_frame, x_lower_frame, x_wm_set_window_state):
264 (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
265 (x_destroy_window, x_delete_display):
266 Now static.
267 (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
268 (x_mouse_leave): Remove; unused.
269 * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
270 (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
271 (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
272 Remove decls.
273 (x_mouse_leave): Declare only if WINDOWSNT.
274 (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
275 (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
276 USE_X_TOOLKIT.
277
1675728f
PE
278 * ftxfont.c: Make symbols static if they're not exported.
279 (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
280 HAVE_FREETYPE.
281 * font.h (ftxfont_driver): Likewise.
282
e4cebfca
PE
283 * xfns.c: Make symbols static if they're not exported.
284 (x_last_font_name, x_display_info_for_name):
285 (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
286 (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
287 (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
288 (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
289 (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
290 (last_show_tip_args): Now static.
291 (xic_defaut_fontset, xic_create_fontsetname): Define only if
292 defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
293 (x_screen_planes): Remove; unused.
294 * dispextern.h (x_screen_planes): Remove decl.
295
5bf46f05
PE
296 * dispnew.c: Make symbols static if they're not exported.
297 * dispextern.h (redraw_garbaged_frames, scrolling):
298 (increment_row_positions): Remove.
299 * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
300 (delayed_size_change, glyph_matrix_count, glyph_pool_count):
301 Now static.
302 (redraw_garbaged_frames): Remove; unused.
303
435f4c28
PE
304 * xfaces.c: Make symbols static if they're not exported.
305 * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
306 Remove decls.
307 * xterm.h (defined_color): Remove decls.
308 (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
309 * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
310 (menu_face_changed_default, defined_color, free_realized_face):
311 (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
312 (ascii_face_of_lisp_face): Remove; unused.
313
8524aef3
PE
314 * xdisp.c: Make symbols static if they're not exported.
315 * dispextern.h (scratch_glyph_row, window_box_edges):
316 (glyph_to_pixel_coords, set_cursor_from_row):
317 (get_next_display_element, set_iterator_to_next):
318 (highlight_trailing_whitespace, frame_to_window_pixel_xy):
319 (show_mouse_face): Remove decls
320 * frame.h (message_buf_print): Likewise.
321 * lisp.h (pop_message, set_message, check_point_in_composition):
322 Likewise.
323 * xterm.h (set_vertical_scroll_bar): Likewise.
324 * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
325 (message_buf_print, scratch_glyph_row, displayed_buffer):
326 (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
327 (get_next_display_element, show_mouse_face, window_box_edges):
328 (frame_to_window_pixel_xy, check_point_in_composition):
329 (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
330 (glyph_to_pixel_coords): Remove; unused.
331
16390cd2
PE
332 * dired.c (file_name_completion): Now static.
333
334 * dbusbind.c (xd_in_read_queued_messages): Now static.
335
a25f4dfa
PE
336 * lisp.h (circular_list_error, FOREACH): Remove; unused.
337 * data.c (circular_list_error): Remove.
338
14a9c8df
PE
339 * commands.h (last_point_position, last_point_position_buffer):
340 (last_point_position_window): Remove decls.
341 * keyboard.c: Make these variables static.
342
74ab6df5
PE
343 * coding.h (coding, code_convert_region, encode_coding_gap): Remove
344 decls.
345 * coding.c (Vsjis_coding_system, Vbig5_coding_system):
346 (iso_code_class, detect_coding, code_convert_region): Now static.
347 (encode_coding_gap): Remove; unused.
348
38dfbee1
PE
349 * chartab.c (chartab_chars, chartab_bits): Now static.
350
a2cb4e63
PE
351 * charset.h (charset_iso_8859_1): Remove decl.
352 * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
353 Now static.
354
127198fd
PE
355 * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
356 * ccl.c (Vccl_program_table): Now static.
357 (check_ccl_update): Remove; unused.
358
d85b608f
PE
359 * category.c (SET_CATEGORY_SET, set_category_set): Move here.
360 * category.h: ... from here.
361 * category.c (check_category_table, set_category_set): Now static.
362
31cd66f3
PE
363 * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
364 * lisp.h: Remove these decls.
365
c358e587
PE
366 * buffer.c (buffer_count): Remove unused var.
367
e78aecca
PE
368 * bidi.c (bidi_dump_cached_states): Mark as externally visible,
369 so that it's not optimized away.
370 (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
371 * dispextern.h (bidi_dump_cached_states): Remove, since it's
372 exported only to the debugger.
373
e192d7d3
PE
374 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
375 * atimer.h (run_all_atimers): Removed; not exported.
376
92470028
PE
377 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
378 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
379 was inaccessible from Lisp.
380 (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
381 * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
382
244ed907
PE
383 alloc.c: Import and export fewer symbols, and remove unused items.
384 * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
385 is defined.
386 (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
387 it's not optimized away by whole-program optimization.
388 (message_enable_multibyte, free_misc): Remove.
389 (catchlist, handlerlist, mark_backtrace):
390 Declare only if BYTE_MARK_STACK.
391 (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
392 * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
393 (message_enable_multibyte): Remove decl.
394 (free_misc, interval_free_list, float_block, float_block_index):
395 (n_float_blocks, float_free_list, cons_block, cons_block_index):
396 (cons_free_list, last_marked_index):
397 Now static.
398 (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
399 * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
400 (mark_backtrace): Define only if BYTE_MARK_STACK.
401 * xdisp.c (message_enable_multibyte): Now static.
402
955cbe7b
PE
403 Declare Lisp_Object Q* variables to be 'static' if not exproted.
404 This makes it easier for human readers (and static analyzers)
405 to see whether these variables are used from other modules.
406 * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
407 * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
408 * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
409 * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
410 * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
411 * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
412 * xmenu.c, xselect.c:
413 Declare Q* vars static if they are not used in other modules.
414 * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
415 * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
416 Remove decls of unexported vars.
417 * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
418
95c82688
PE
419 * lisp.h (DEFINE_FUNC): Make sname 'static'.
420
16a97296
PE
421 Make Emacs functions such as Fatom 'static' by default.
422 This makes it easier for human readers (and static analyzers)
423 to see whether these functions can be called from other modules.
424 DEFUN now defines a static function. To make the function external
425 so that it can be used in other C modules, use the new macro DEFUE.
8bd7b830
PE
426 * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
427 (Finit_image_library):
16a97296
PE
428 (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
429 (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
430 (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
431 Remove decls, since these functions are now static.
432 (Funintern, Fget_internal_run_time): New decls, since these functions
433 were already external.
95c82688 434
16a97296
PE
435 * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
436 * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
437 * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
438 * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
439 * keyboard.c, keymap.c, lread.c:
440 * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
441 * syntax.c, term.c, terminal.c, textprop.c, undo.c:
442 * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
443 Mark functions with DEFUE instead of DEFUN,
444 if they are used in other modules.
445 * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
446 decls for now-static functions.
447 * buffer.h (Fdelete_overlay): Remove decl.
448 * callproc.c (Fgetenv_internal): Mark as internal.
449 * composite.c (Fremove_list_of_text_properties): Remove decl.
450 (Fcomposition_get_gstring): New forward static decl.
451 * composite.h (Fcomposite_get_gstring): Remove decl.
452 * dired.c (Ffile_attributes): New forward static decl.
453 * doc.c (Fdocumntation_property): New forward static decl.
454 * eval.c (Ffetch_bytecode): New forward static decl.
455 (Funintern): Remove extern decl; now in .h file where it belongs.
456 * fileio.c (Fmake_symbolic_link): New forward static decl.
457 * image.c (Finit_image_library): New forward static decl.
458 * insdel.c (Fcombine_after_change_execute): Make forward decl static.
459 * intervals.h (Fprevious_property_change):
460 (Fremove_list_of_text_properties): Remove decls.
461 * keyboard.c (Fthis_command_keys): Remove decl.
462 (Fcommand_execute): New forward static decl.
463 * keymap.c (Flookup_key): New forward static decl.
464 (Fcopy_keymap): Now static.
465 * keymap.h (Flookup_key): Remove decl.
466 * process.c (Fget_process): New forward static decl.
467 (Fprocess_datagram_address): Mark as internal.
468 * syntax.c (Fsyntax_table_p): New forward static decl.
469 (skip_chars): Remove duplicate decl.
470 * textprop.c (Fprevious_property_change): New forward static decl.
471 * window.c (Fset_window_fringes, Fset_window_scroll_bars):
472 Now internal.
473 (Fset_window_margins, Fset_window_vscroll): New forward static decls.
474 * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
475
785bbd42
PE
476 * editfns.c (Fformat): Remove unreachable code.
477
8b913b57
AS
4782011-04-14 Andreas Schwab <schwab@linux-m68k.org>
479
480 * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
481 change. (Bug#8496)
482
a6744a35
EZ
4832011-04-13 Eli Zaretskii <eliz@gnu.org>
484
485 * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
486 when at ZV. (Bug#8487)
487
e7974947
AS
4882011-04-12 Andreas Schwab <schwab@linux-m68k.org>
489
baad03f0
AS
490 * charset.c (Fclear_charset_maps): Use xfree instead of free.
491 (Bug#8437)
492 * keyboard.c (parse_tool_bar_item): Likewise.
493 * sound.c (sound_cleanup, alsa_close): Likewise.
494 * termcap.c (tgetent): Likewise.
495 * xfns.c (x_default_font_parameter): Likewise.
496 * xsettings.c (read_and_apply_settings): Likewise.
497
e7974947
AS
498 * alloc.c (overrun_check_malloc, overrun_check_realloc)
499 (overrun_check_free): Protoize.
500
28272684
PE
5012011-04-12 Paul Eggert <eggert@cs.ucla.edu>
502
503 * sysdep.c (emacs_read, emacs_write): Check for negative sizes
504 since callers should never pass a negative size.
505 Change the signature to match that of plain 'read' and 'write'; see
506 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
507 * lisp.h: Update prototypes of emacs_write and emacs_read.
508
11997c76
EZ
5092011-04-11 Eli Zaretskii <eliz@gnu.org>
510
511 * xdisp.c (redisplay_window): Don't try to determine the character
512 position of the scroll margin if the window start point w->startp
e896f03c 513 is outside the buffer's accessible region. (Bug#8468)
11997c76 514
8a2cbd72
EZ
5152011-04-10 Eli Zaretskii <eliz@gnu.org>
516
517 Fix write-region and its subroutines for buffers > 2GB.
518 * fileio.c (a_write, e_write): Modify declaration of arguments and
519 local variables to support buffers larger than 2GB.
520 (Fcopy_file): Use EMACS_INT for return value of emacs_read.
521
522 * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
523 argument, local variables, and return value.
524
525 * lisp.h: Update prototypes of emacs_write and emacs_read.
526
527 * sound.c (vox_write): Use ssize_t for return value of emacs_write.
528
4073e537 5292011-04-10 Paul Eggert <eggert@cs.ucla.edu>
eb3f1cc8 530
1ebfdcb6
PE
531 * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
532
b2ded58d
PE
533 Fix more problems found by GCC 4.6.0's static checks.
534
7d66342c
PE
535 * xdisp.c (vmessage): Use a better test for character truncation.
536
bbf47d44
PE
537 * charset.c (load_charset_map): <, not <=, for optimization,
538 and to avoid potential problems with integer overflow.
9248994d 539 * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
f9a68bc5 540 * casetab.c (set_identity, shuffle): Likewise.
3ab1c7ce 541 * editfns.c (Fformat): Likewise.
1e69125e 542 * syntax.c (skip_chars): Likewise.
3befa583 543
e3019616
PE
544 * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
545 This also lets GCC 4.6.0 generate slightly better loop code.
546
becfa255
PE
547 * callint.c (Fcall_interactively): <, not <=, for optimization.
548 (Fcall_interactively): Count the number of arguments produced,
549 not the number of arguments given. This is simpler and lets GCC
550 4.6.0 generate slightly better code.
551
dae0cd48
PE
552 * ftfont.c: Distingish more carefully between FcChar8 and char.
553 The previous code passed unsigned char * to a functions like
554 strlen and xstrcasecmp that expect char *, which does not
555 conform to the C standard.
556 (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
557 arguments to FcPatternGetString, and explicitly cast FcChar8 * to
558 char * when the C standard requires it.
559
76032d70
PE
560 * keyboard.c (read_char): Remove unused var.
561
eb3f1cc8
PE
562 * eval.c: Port to Windows vsnprintf (Bug#8435).
563 Include <limits.h>.
564 (SIZE_MAX): Define if the headers do not.
565 (verror): Do not give up if vsnprintf returns a negative count.
566 Instead, grow the buffer. This ports to Windows vsnprintf, which
567 does not conform to C99. Problem reported by Eli Zaretskii.
568 Also, simplify the allocation scheme, by avoiding the need for
569 calling realloc, and removing the ALLOCATED variable.
570
70476b54
PE
571 * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
572
12020a9e
PE
573 Remove invocations of doprnt, as Emacs now uses vsnprintf.
574 But keep the doprint source code for now, as we might revamp it
575 and use it again (Bug#8435).
ea6c7ae6
PE
576 * lisp.h (doprnt): Remove.
577 * Makefile.in (base_obj): Remove doprnt.o.
578 * deps.mk (doprnt.o): Remove.
579
5fdb398c
PE
580 error: Print 32- and 64-bit integers portably (Bug#8435).
581 Without this change, on typical 64-bit hosts error ("...%d...", N)
582 was used to print both 32- and 64-bit integers N, which relied on
583 undefined behavior.
584 * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
585 New macro.
586 * lisp.h (error, verror): Mark as printf-like functions.
587 * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
588 Report overflow in size calculations when allocating printf buffer.
589 Do not truncate output string at its first null byte.
590 * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
591 Truncate the output at a character boundary, since vsnprintf does not
592 do that.
593 * charset.c (check_iso_charset_parameter): Convert internal
594 character to string before calling 'error', since %c now has the
595 printf meaning.
596 * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
597 overflow when computing char to be passed to 'error'. Do not
598 pass Lisp_Object to 'error'; pass the integer instead.
599 * nsfns.m (Fns_do_applescript): Use int, not long, since it's
600 formatted with plain %d.
601
b189fa66
PE
602 * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
603
bff87ef0
PE
604 * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
605
7e2cac20
PE
606 * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
607
ce4d90b5
PE
608 * xterm.c (x_catch_errors): Remove duplicate declaration.
609
266c9547
PE
610 * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
611
79c49ad2
PE
612 * xdisp.c, lisp.h (message_nolog): Remove; unused.
613
368f4090
JM
6142011-04-10 Jim Meyering <meyering@redhat.com>
615
616 use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
617 * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
618 return ssize_t not "int", and use size_t as the buffer length.
619 (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
620 * gnutls.h: Update declarations.
621 * process.c (read_process_output): Use ssize_t, to match.
622 (send_process): Likewise.
623
a32d4040
CY
6242011-04-09 Chong Yidong <cyd@stupidchicken.com>
625
626 * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
627
8546720e 6282011-04-09 Chong Yidong <cyd@stupidchicken.com>
aac0c6e3 629
8546720e
GM
630 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
631 unsigned char, to match FcChar8 type definition.
aac0c6e3 632
8546720e
GM
633 * xterm.c (handle_one_xevent):
634 * xmenu.c (create_and_show_popup_menu):
635 * xselect.c (x_decline_selection_request)
636 (x_reply_selection_request): Avoid type-punned deref of X events.
aac0c6e3 637
0a2f5c1a 6382011-04-09 Eli Zaretskii <eliz@gnu.org>
a53e2e89
EZ
639
640 Fix some uses of `int' instead of EMACS_INT.
641 * search.c (string_match_1, fast_string_match)
642 (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
643 (scan_buffer, find_next_newline_no_quit)
644 (find_before_next_newline, search_command, Freplace_match)
645 (Fmatch_data): Make some `int' variables be EMACS_INT.
646
647 * xdisp.c (display_count_lines): 3rd argument and return value now
648 EMACS_INT. All callers changed.
649 (pint2hrstr): Last argument is now EMACS_INT.
650
651 * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
652 (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
653 (detect_coding_ccl, detect_coding_charset, decode_coding_utf_8)
654 (decode_coding_utf_16, decode_coding_emacs_mule)
655 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
656 (decode_coding_ccl, decode_coding_charset)
657 <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
658 (decode_coding_iso_2022, decode_coding_emacs_mule)
659 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
660 <char_offset, last_offset>: Declare EMACS_INT.
661 (encode_coding_utf_8, encode_coding_utf_16)
662 (encode_coding_emacs_mule, encode_invocation_designation)
663 (encode_designation_at_bol, encode_coding_iso_2022)
664 (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
665 (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
666 Declare EMACS_INT.
667 (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
668 (encode_invocation_designation): Last argument P_NCHARS is now
669 EMACS_INT.
670 (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
671 (produce_chars): from_nchars and to_nchars are now EMACS_INT.
672
673 * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
674 All users changed.
675
676 * ccl.c (Fccl_execute_on_string): Declare some variables
677 EMACS_INT.
678
8546720e 6792011-04-08 Samuel Thibault <sthibault@debian.org> (tiny change)
0080dc6b
SS
680
681 * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
682
4e19a977
CS
6832011-03-19 Christoph Scholtes <cschol2112@googlemail.com>
684
685 * process.c (Fformat_network_address): Doc fix.
686
87302331
R
6872011-04-08 T.V. Raman <tv.raman.tv@gmail.com> (tiny change)
688
689 * xml.c (parse_region): Avoid creating spurious whiespace nodes.
690
cbb59342
CY
6912011-04-08 Chong Yidong <cyd@stupidchicken.com>
692
693 * keyboard.c (read_char): Call Lisp function help-form-show,
694 instead of using internal_with_output_to_temp_buffer.
695 (Qhelp_form_show): New var.
e0d38eeb 696 (syms_of_keyboard): Use DEFSYM macro.
cbb59342
CY
697
698 * print.c (internal_with_output_to_temp_buffer): Function deleted.
699
700 * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
701
e67a13ab
CY
7022011-04-06 Chong Yidong <cyd@stupidchicken.com>
703
704 * process.c (Flist_processes): Removed to Lisp.
705 (list_processes_1): Deleted.
706
973f782d
EZ
7072011-04-06 Eli Zaretskii <eliz@gnu.org>
708
7c106b1e
EZ
709 * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
710
973f782d
EZ
711 * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
712
41cf7d1a 7132011-04-06 Paul Eggert <eggert@cs.ucla.edu>
27ccc379 714
ca23cc88
PE
715 Fix more problems found by GCC 4.6.0's static checks.
716
f390e2d5
PE
717 * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
718
42eea0d0
PE
719 * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
720
b69769da 721 * lisp.h (message, message_nolog, fatal): Mark as printf-like.
1e973bc7 722
f9541e84
PE
723 * xdisp.c (vmessage): Mark as a printf-like function.
724
13841b55
PE
725 * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
726
c136c10f
PE
727 * sound.c (sound_warning): Don't crash if arg contains a printf format.
728
5e2d4a30
PE
729 * image.c (tiff_error_handler, tiff_warning_handler): Mark as
730 printf-like functions.
731 (tiff_load): Add casts to remove these marks before passing them
732 to system-supplied API.
733
583f48b9
PE
734 * eval.c (Fsignal): Remove excess argument to 'fatal'.
735
b25d760e
PE
736 * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
737 This avoids several warnings with gcc -Wstrict-overflow.
d5efd1d1
PE
738 (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
739 directly, rather than having caller test rule sign. This avoids
740 some unnecessary tests.
741 * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
742 (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
743 affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
b25d760e 744
bc7b6697 745 * xfont.c (xfont_text_extents): Remove var that was set but not used.
625a3eb1 746 (xfont_open): Avoid unnecessary tests.
bc7b6697 747
27ccc379
PE
748 * composite.c (composition_gstring_put_cache): Use unsigned integer.
749
dcd5c89a
PE
750 * composite.h, composite.c (composition_gstring_put_cache):
751 Use EMACS_INT, not int, for length.
752
b13a45c6
PE
753 * composite.h (COMPOSITION_DECODE_REFS): New macro,
754 breaking out part of COMPOSITION_DECODE_RULE.
755 (COMPOSITION_DECODE_RULE): Use it.
756 * composite.c (get_composition_id): Remove unused local vars,
757 by using the new macro.
758
1e792e4d
PE
759 * textprop.c (set_text_properties_1): Change while to do-while,
760 since the condition is always true at first.
761
dc6c6455 762 * intervals.c (graft_intervals_into_buffer): Mark var as used.
aa86731f
PE
763 (interval_deletion_adjustment): Return unsigned value.
764 All uses changed.
dc6c6455 765
aba7731a
PE
766 * process.c (list_processes_1, create_pty, read_process_output):
767 (exec_sentinel): Remove vars that were set but not used.
afd4052b 768 (create_pty): Remove unnecessary "volatile"s.
bc57d757 769 (Fnetwork_interface_info): Avoid possibility of int overflow.
82eaa333 770 (read_process_output): Do adaptive read buffering even if carryover.
fe07cdfa 771 (read_process_output): Simplify nbytes computation if buffered.
aba7731a 772
fdfc4bf3
PE
773 * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
774
fca8fe46 775 * syntax.c (scan_words): Remove var that was set but not used.
12cbf13f 776 (update_syntax_table): Use unsigned instead of int.
fca8fe46 777
06a0259a 778 * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
3c346cc3 779 (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
e6eb4e9e 780 (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
06a0259a 781
e7b9e80f
PE
782 * print.c (print_error_message): Avoid int overflow.
783
56201685
PE
784 * font.c (font_list_entities): Redo for clarity,
785 so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
786
78834453 787 * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
790771b1 788 (font_score): Avoid potential overflow in diff calculation.
78834453 789
0bc0b309 790 * fns.c (substring_both): Remove var that is set but not used.
8cd55cb4 791 (sxhash): Redo loop for clarity and to avoid wraparound warning.
0bc0b309 792
e610eaca
PE
793 * eval.c (funcall_lambda): Rename local to avoid shadowing.
794
b895abce
PE
795 * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
796 Otherwise, GCC 4.6.0 optimizes the loop check away since the check
797 can always succeed if overflow has undefined behavior.
798
1f1d9321 799 * search.c (boyer_moore, wordify): Remove vars set but not used.
6f076cc7 800 (wordify): Omit three unnecessary tests.
1f1d9321 801
c59478bc
PE
802 * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
803 All callers changed. This avoids the need for an unused var.
804
79b73827
PE
805 * casefiddle.c (casify_region): Remove var that is set but not used.
806
a4db5dfe
PE
807 * dired.c (file_name_completion): Remove var that is set but not used.
808
43aae36e
PE
809 * fileio.c (Finsert_file_contents): Make EOF condition clearer.
810
2a47c44d 811 * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
163c5f32 812 (Finsert_file_contents): Remove unnecessary code checking fd.
2a47c44d 813
a37c69bf
PE
814 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
815 Check for integer overflow on size calculations.
816
328ab8e7
PE
817 * buffer.c (Fprevious_overlay_change): Remove var that is set
818 but not used.
819
e5a2a5cb
PE
820 * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
821 Remove vars that are set but not used.
8d84a6eb 822 (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
6b043475 823 (timer_check_2): Mark vars as initialized.
e5a2a5cb 824
a60e5f68
PE
825 * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
826
f661cb61 827 * image.c (lookup_image): Remove var that is set but not used.
35fa624f 828 (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
f661cb61 829
f0397f5a
PE
830 * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
831 that are set but not used.
832
8664db06 833 * xfns.c (make_invisible_cursor): Don't return garbage
03733ee7 834 if XCreateBitmapFromData fails (Bug#8410).
8664db06 835
6abdaa4a
PE
836 * xselect.c (x_get_local_selection, x_handle_property_notify):
837 Remove vars that are set but not used.
838
0ce7538d 839 * xfns.c (x_create_tip_frame): Remove var that is set but not used.
6abdaa4a 840 (make_invisible_cursor): Initialize a possibly-uninitialized variable.
0ce7538d 841
9ae848fc
PE
842 * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
843 Remove var that is set but not used.
0b918413
PE
844 (scroll_bar_windows_size): Now size_t, not int.
845 (x_send_scroll_bar_event): Use size_t, not int, for sizes.
846 Check for overflow.
9ae848fc 847
a5a62657
PE
848 * xfaces.c (realize_named_face): Remove vars that are set but not used.
849 (map_tty_color) [!defined MSDOS]: Likewise.
850
5c5cdd39
PE
851 * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
852
66ebf983
PE
853 * coding.c: Remove vars that are set but not used.
854 (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
855 All callers changed.
856 (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
857 (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
858 (decode_coding_charset): Remove vars that are set but not used.
859
1be4d761
PE
860 * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
861 that is set but not used.
862
47553fa8
PE
863 * print.c (print_object): Remove var that is set but not used.
864
1f7196bf 865 Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
d1fdcab7
PE
866 The gnulib version avoids calling malloc in the usual case,
867 and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
868 * fileio.c (Ffile_symlink_p): Use emacs_readlink.
869 * filelock.c (current_lock_owner): Likewise.
870 * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
871 * sysdep.c: Include allocator.h, careadlinkat.h.
872 (emacs_no_realloc_allocator): New static constant.
873 (emacs_readlink): New function.
fdb61804
PE
874 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
875 ../lib/careadlinkat.h.
d1fdcab7 876
f84c17c7
SM
8772011-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
878
879 * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
880 first non-nil return value).
881
ef3862ad
JD
8822011-04-03 Jan Djärv <jan.h.d@swipnet.se>
883
884 * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
885 if not defined (Bug#8403).
886
376a7006
JB
8872011-04-02 Juanma Barranquero <lekktu@gmail.com>
888
889 * xdisp.c (display_count_lines): Remove parameter `start',
890 unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
891 (get_char_face_and_encoding): Remove parameter `multibyte_p',
892 unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
893 (fill_stretch_glyph_string): Remove parameters `row' and `area',
894 unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
895 and thereabouts. All callers changed.
896 (get_per_char_metric): Remove parameter `f', unused since
897 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed.
898
6ca3801d
JM
8992011-04-02 Jim Meyering <meyering@redhat.com>
900
901 do not dereference NULL upon failed strdup
902 * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
903 (ns_get_family): Likewise.
904
d8e2b5ba
JB
9052011-04-02 Juanma Barranquero <lekktu@gmail.com>
906
907 * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
908
8c74fcbd
JD
9092011-04-02 Jan Djärv <jan.h.d@swipnet.se>
910
911 * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
912 later (Bug#8403).
913
7200d79c
SM
9142011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
915
03408648 916 Add lexical binding.
7200d79c 917
03408648
SM
918 * window.c (Ftemp_output_buffer_show): New fun.
919 (Fsave_window_excursion):
920 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
921
922 * lread.c (lisp_file_lexically_bound_p): New function.
923 (Fload): Bind Qlexical_binding.
924 (readevalloop): Remove `evalfun' arg.
925 Bind Qinternal_interpreter_environment.
926 (Feval_buffer): Bind Qlexical_binding.
927 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
928 Mark as dynamic.
929 (syms_of_lread): Declare `lexical-binding'.
930
931 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
932
933 * keyboard.c (eval_dyn): New fun.
934 (menu_item_eval_property): Use it.
ca105506
SM
935
936 * image.c (parse_image_spec): Use Ffunctionp.
ca105506 937
03408648
SM
938 * fns.c (concat, mapcar1): Accept byte-code-functions.
939
940 * eval.c (Fsetq): Handle lexical vars.
941 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
942 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
943 (FletX, Flet): Obey lexical binding.
944 (Fcommandp): Handle closures.
945 (Feval): New `lexical' arg.
946 (eval_sub): New function extracted from Feval. Use it almost
947 everywhere where Feval was used. Look up vars in lexical env.
948 Handle closures.
949 (Ffunctionp): Move from subr.el.
950 (Ffuncall): Handle closures.
951 (apply_lambda): Remove `eval_flags'.
952 (funcall_lambda): Handle closures and new byte-code-functions.
953 (Fspecial_variable_p): New function.
954 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
955 but without exporting it to Lisp.
23aba0ea 956
23aba0ea 957 * doc.c (Fdocumentation, store_function_docstring):
03408648 958 * data.c (Finteractive_form): Handle closures.
23aba0ea 959
03408648
SM
960 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
961 interactive spec.
ba83908c 962
03408648
SM
963 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
964 byte-codes.
965 (exec_byte_code): New function extracted from Fbyte_code to handle new
966 calling convention for byte-code-functions. Add new byte-codes.
ba83908c 967
03408648 968 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
e2abe5a1 969
03408648 970 * alloc.c (Fmake_symbol): Init new `declared_special' field.
e2abe5a1 971
e2abce01
JB
9722011-03-31 Juanma Barranquero <lekktu@gmail.com>
973
974 * xdisp.c (redisplay_internal): Fix prototype.
975
63696a73 9762011-03-31 Eli Zaretskii <eliz@gnu.org>
09725d26 977
63696a73
EZ
978 * xdisp.c (SCROLL_LIMIT): New macro.
979 (try_scrolling): Use it when setting scroll_limit. Limit
980 scrolling to 100 screen lines.
981 (redisplay_window): Even when falling back on "recentering",
982 position point in the window according to scroll-conservatively,
983 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
984
985 (try_scrolling): When point is above the window, allow searching
986 as far as scroll_max, or one screenful, to compute vertical
987 distance from PT to the scroll margin position. This prevents
988 try_scrolling from unnecessarily failing when
989 scroll-conservatively is set to a value slightly larger than the
990 window height. Clean up the case of PT below the margin at bottom
991 of window: scroll_max can no longer be INT_MAX. When aggressive
992 scrolling is in use, don't let point enter the opposite scroll
993 margin as result of the scroll.
994 (syms_of_xdisp) <scroll-conservatively>: Document the
09725d26
EZ
995 threshold of 100 lines for never-recentering scrolling.
996
e4cc2dfc
JB
9972011-03-31 Juanma Barranquero <lekktu@gmail.com>
998
999 * dispextern.h (move_it_by_lines):
1000 * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
1001 since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed.
1002 (message_log_check_duplicate): Remove parameters `prev_bol' and
1003 `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed.
1004 (redisplay_internal): Remove parameter `preserve_echo_area',
1005 unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed.
1006
1007 * indent.c (Fvertical_motion):
1008 * window.c (window_scroll_pixel_based, Frecenter):
1009 Don't pass `need_y_p' to `move_it_by_lines'.
1010
1c470562
SM
10112011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
1012
44f230aa
SM
1013 * eval.c (struct backtrace): Don't cheat with negative numbers, but do
1014 steal a few bits to be more compact.
1015 (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
1016 Remove unneeded casts.
1017
1c470562
SM
1018 * bytecode.c (Fbyte_code): CAR and CDR can GC.
1019
888adce9
ZK
10202011-03-30 Zachary Kanfer <zkanfer@gmail.com> (tiny change)
1021
1022 * keyboard.c (Fexecute_extended_command): Do log the "suggest key
1023 binding" message (bug#7967).
1024
f838ed7b
PE
10252011-03-30 Paul Eggert <eggert@cs.ucla.edu>
1026
77861b95
PE
1027 Fix more problems found by GCC 4.6.0's static checks.
1028
de6dbc14
PE
1029 * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
1030 Remove unused local var.
1031
f838ed7b
PE
1032 * editfns.c (Fmessage_box): Remove unused local var.
1033
792c7b2b
PE
1034 * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
1035 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1036 Omit unused local vars.
c499e557 1037 * window.c (shrink_windows): Omit unused local var.
b01a1c29 1038 * menu.c (digest_single_submenu): Omit unused local var.
0bc32927
PE
1039 * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
1040 Omit unused local var.
1041
ba0165e1
PE
1042 * keyboard.c (parse_modifiers_uncached, parse_modifiers):
1043 Don't assume string length fits in int.
32ad8845 1044 (keyremap_step, read_key_sequence): Use size_t for sizes.
48011560 1045 (read_key_sequence): Don't check last_real_key_start redundantly.
ba0165e1 1046
3c59b4c9
PE
1047 * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
1048 instead of alloca (Bug#8344).
1049
a3eed478 1050 * eval.c (Fbacktrace): Don't assume nargs fits in int.
5d5d959d 1051 (Fbacktrace_frame): Don't assume nframes fits in int.
a3eed478 1052
eb4d412d
PE
1053 * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
1054
1658b401
PE
1055 * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
1056 concerns.
1057
1058 * term.c (produce_glyphless_glyph): Remove unnecessary test.
1059
1060 * cm.c (calccost): Turn while-do into do-while, for clarity.
44f730c8 1061
9a2c6e05
PE
1062 * keyboard.c (syms_of_keyboard): Use the same style as later
1063 in this function when indexing through an array. This also
1064 works around GCC bug 48267.
1065
03d0a109
PE
1066 * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
1067
44f730c8
PE
1068 * xselect.c (x_check_property_data): Return correct size (Bug#8335).
1069
fe75f926
PE
1070 * chartab.c (sub_char_table_ref_and_range): Redo for slight
1071 efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
1072
ffa8c828
PE
1073 * keyboard.c, keyboard.h (num_input_events): Now size_t.
1074 This avoids undefined behavior on integer overflow, and is a bit
1075 more convenient anyway since it is compared to a size_t variable.
1076
c5101a77
PE
1077 Variadic C functions now count arguments with size_t, not int.
1078 This avoids an unnecessary limitation on 64-bit machines, which
1079 caused (substring ...) to crash on large vectors (Bug#8344).
1080 * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
1081 (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
77861b95 1082 All variadic functions and their callers changed accordingly.
c5101a77
PE
1083 (struct gcpro.nvars): Now size_t, not int. All uses changed.
1084 * data.c (arith_driver, float_arith_driver): Likewise.
1085 * editfns.c (general_insert_function): Likewise.
1086 * eval.c (struct backtrace.nargs, interactive_p)
1087 (internal_condition_case_n, run_hook_with_args, apply_lambda)
1088 (funcall_lambda, mark_backtrace): Likewise.
1089 * fns.c (concat): Likewise.
1090 * frame.c (x_set_frame_parameters): Likewise.
1091 * fns.c (get_key_arg): Now accepts and returns size_t, and returns
1092 0 if not found, not -1. All callers changed.
1093
dd3f25f7
PE
1094 * alloc.c (garbage_collect): Don't assume stack size fits in int.
1095 (stack_copy_size): Now size_t, not int.
1096 (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
1097
461c2ab9
JB
10982011-03-28 Juanma Barranquero <lekktu@gmail.com>
1099
1100 * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
1101 unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1102 All callers changed.
1103
1104 * lisp.h (multibyte_char_to_unibyte):
1105 * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
1106 unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
1107 * character.h (CHAR_TO_BYTE8):
1108 * cmds.c (internal_self_insert):
1109 * editfns.c (general_insert_function):
1110 * keymap.c (push_key_description):
1111 * search.c (Freplace_match):
1112 * xdisp.c (message_dolog, set_message_1): All callers changed.
1113
f6d62986
SM
11142011-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1115
1116 * keyboard.c (safe_run_hook_funcall): New function.
1117 (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
1118 don't set the hook to nil, but remove the offending function instead.
1119 (Qcommand_hook_internal): Remove, unused.
1120 (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
1121 Vcommand_hook_internal.
1122
1123 * eval.c (enum run_hooks_condition): Remove.
1124 (funcall_nil, funcall_not): New functions.
1125 (run_hook_with_args): Call each function through a `funcall' argument.
1126 Remove `cond' argument, now redundant.
1127 (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
1128 (Frun_hook_with_args_until_failure): Adjust accordingly.
1129 (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
1130
1db5b1ad
JB
11312011-03-28 Juanma Barranquero <lekktu@gmail.com>
1132
1133 * dispextern.h (string_buffer_position): Remove declaration.
1134
1135 * print.c (strout): Remove parameter `multibyte', unused since
1136 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed.
1137
1138 * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
1139 never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
1140 All callers changed.
1141
1142 * w32.c (_wsa_errlist): Use braces for struct initializers.
1143
1144 * xdisp.c (string_buffer_position_lim): Remove parameter `w',
1145 never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
1146 All callers changed.
1147 (string_buffer_position): Likewise. Also, make static (it's never
1148 used outside xdisp.c).
1149 (cursor_row_p): Remove parameter `w', unused since
1150 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed.
1151 (decode_mode_spec): Remove parameter `precision', introduced during
1152 Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
1153 All callers changed.
1154
5ffb62aa
JD
11552011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1156
1157 * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
1158
461c2ab9 11592011-03-27 Anders Lindgren <andlind@gmail.com>
f0a1382a
JD
1160
1161 * nsterm.m (ns_menu_bar_is_hidden): New variable.
1162 (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
1163 (ns_update_auto_hide_menu_bar): New functions.
1164 (ns_update_begin): Call ns_update_auto_hide_menu_bar.
1165 (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
1166 ns_constrain_all_frames.
1167 (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
1168 (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
1169
5c380ffb
JD
11702011-03-27 Jan Djärv <jan.h.d@swipnet.se>
1171
1172 * nsmenu.m (runDialogAt): Remove argument to timer_check.
1173
9af30bdf
GM
11742011-03-27 Glenn Morris <rgm@gnu.org>
1175
1176 * syssignal.h: Replace RETSIGTYPE with void.
1177 * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
1178 * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
1179 Replace SIGTYPE with void everywhere.
1180 * s/usg5-4-common.h (SIGTYPE): Remove definition.
1181 * s/template.h (SIGTYPE): Remove commented out definition.
1182
e2abce01
JB
11832011-03-26 Eli Zaretskii <eliz@gnu.org>
1184
1185 * xdisp.c (redisplay_window): Don't check buffer's clip_changed
1186 flag as a prerequisite for invoking try_scrolling. (Bug#6671)
1187
f868cd8a
JB
11882011-03-26 Juanma Barranquero <lekktu@gmail.com>
1189
59eb0929
JB
1190 * w32.c (read_unc_volume): Use parameter `henum', instead of
1191 global variable `wget_enum_handle'.
1192
1193 * keymap.c (describe_vector): Remove parameters `indices' and
1194 `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
1195 (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
1196
f868cd8a
JB
1197 * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
1198
1199 * keyboard.c (timer_check): Remove parameter `do_it_now',
1200 unused since 1996-04-12T06:01:29Z!rms@gnu.org.
1201 (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
1202 unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
1203
1204 * keyboard.c (read_char):
1205 * w32menu.c (w32_menu_display_help):
1206 * xmenu.c (show_help_event, menu_help_callback):
1207 Adjust calls to `show_help_echo'.
1208
1209 * gtkutil.c (xg_maybe_add_timer):
1210 * keyboard.c (readable_events):
1211 * process.c (wait_reading_process_output):
1212 * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
1213
1214 * insdel.c (adjust_markers_gap_motion):
1215 Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
1216 (gap_left, gap_right): Don't call it.
1217
2ecf6fdb
CY
12182011-03-25 Chong Yidong <cyd@stupidchicken.com>
1219
1220 * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
1221 incurred during fontification.
1222
6b1f9ba4
JB
12232011-03-25 Juanma Barranquero <lekktu@gmail.com>
1224
1225 * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
1226 (DEFVAR_PER_BUFFER): Don't pass it.
1227
1228 * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
1229 (scrolling_window): Don't pass it.
1230
0f4a96b5
JB
12312011-03-25 Juanma Barranquero <lekktu@gmail.com>
1232
1233 * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
1234
1235 * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
1236 and `suffix'.
1237 (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
1238 of variables specific to SELinux and computation of `encoded_absname'.
1239
1240 * image.c (XPutPixel): Remove unused variable `height'.
1241
1242 * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
1243
1244 * unexw32.c (get_section_info): Remove unused variable `section'.
1245
1246 * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
1247 (system_process_attributes): Remove unused variable `sess'.
1248 (sys_read): Remove unused variable `err'.
1249
1250 * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
1251 (w32_wnd_proc): Remove unused variable `isdead'.
1252 (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
1253 (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
1254 (x_create_tip_frame): Remove unused variable `tem'.
1255
1256 * w32inevt.c (w32_console_read_socket):
1257 Remove unused variable `no_events'.
1258
1259 * w32term.c (x_draw_composite_glyph_string_foreground):
1260 Remove unused variable `width'.
1261
1149507c
JB
12622011-03-24 Juanma Barranquero <lekktu@gmail.com>
1263
1264 * w32term.c (x_set_glyph_string_clipping):
1265 Don't pass uninitialized region to CombineRgn.
1266
9c88f339
JB
12672011-03-23 Juanma Barranquero <lekktu@gmail.com>
1268
1269 * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
1270 (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
1271 (Fx_close_connection): Remove unused variable `i'.
1272
1273 * w32font.c (w32font_draw): Return number of glyphs.
1274 (w32font_open_internal): Remove unused variable `i'.
1275 (w32font_driver): Add missing initializer.
1276
1277 * w32menu.c (utf8to16): Remove unused variable `utf16'.
1278 (fill_in_menu): Remove unused variable `items_added'.
1279
1280 * w32term.c (last_mouse_press_frame): Remove static global variable.
1281 (w32_clip_to_row): Remove unused variable `f'.
1282 (x_delete_terminal): Remove unused variable `i'.
1283
1284 * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
1285 (NOTHING): Remove unused static global variable.
1286 (uniscribe_check_otf): Remove unused variable `table'.
1287 (uniscribe_font_driver): Add missing initializers.
1288
dee091a3
JD
12892011-03-23 Julien Danjou <julien@danjou.info>
1290
1291 * term.c (Fsuspend_tty, Fresume_tty):
1292 * minibuf.c (read_minibuf, run_exit_minibuf_hook):
1293 * window.c (temp_output_buffer_show):
1294 * insdel.c (signal_before_change):
1295 * frame.c (Fhandle_switch_frame):
1296 * fileio.c (Fdo_auto_save):
1297 * emacs.c (Fkill_emacs):
1298 * editfns.c (save_excursion_restore):
1299 * cmds.c (internal_self_insert):
1300 * callint.c (Fcall_interactively):
1301 * buffer.c (Fkill_all_local_variables):
1302 * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
1303 Use Frun_hooks.
0f4a96b5 1304 (command_loop_1): Use Frun_hooks. Call safe_run_hooks
dee091a3
JD
1305 unconditionnaly since it does the check itself.
1306
2c520ab5 13072011-03-23 Paul Eggert <eggert@cs.ucla.edu>
f0641eff 1308
c9c49752
PE
1309 Fix more problems found by GCC 4.5.2's static checks.
1310
8abc3f12
PE
1311 * coding.c (encode_coding_raw_text): Avoid unnecessary test
1312 the first time through the loop, since we know p0 < p1 then.
1313 This also avoids a gcc -Wstrict-overflow warning.
1314
a2d26660
PE
1315 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
1316 leading to a memory leak, possible in functions like
1317 load_charset_map_from_file that can allocate an unbounded number
b12ef411 1318 of objects (Bug#8318).
a2d26660 1319
916c72e9
PE
1320 * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
1321 that could (at least in theory) be that large.
1322
19ab8a18
PE
1323 * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
1324 This is less likely to overflow, and avoids undefined behavior if
1325 overflow does occur. All callers changed. Use strtoul to scan
1326 for the unsigned long integer.
b7cbbd6f
PE
1327 (pint2hrstr): Simplify and tune code slightly.
1328 This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
19ab8a18 1329
f0641eff
PE
1330 * scroll.c (do_scrolling): Work around GCC bug 48228.
1331 See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
1332
7f650bb9
PE
1333 * frame.c (Fmodify_frame_parameters): Simplify loop counter.
1334 This also avoids a warning with gcc -Wstrict-overflow.
39f5e519
PE
1335 (validate_x_resource_name): Simplify count usage.
1336 This also avoids a warning with gcc -Wstrict-overflow.
7f650bb9 1337
37dd57d1
PE
1338 * fileio.c (Fcopy_file): Report error if fchown or fchmod
1339 fail (Bug#8306).
81e56e61 1340
699979fc 1341 * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
dc1ca6a8 1342
401bf9b4
PE
1343 * process.c (Fmake_network_process): Use socklen_t, not int,
1344 where POSIX says socklen_t is required in portable programs.
1345 This fixes a porting bug on hosts like 64-bit HP-UX, where
591b2973 1346 socklen_t is wider than int (Bug#8277).
401bf9b4
PE
1347 (Fmake_network_process, server_accept_connection):
1348 (wait_reading_process_output, read_process_output):
1349 Likewise.
1350
b93aacde
PE
1351 * process.c: Rename or move locals to avoid shadowing.
1352 (list_processes_1, Fmake_network_process):
1353 (read_process_output_error_handler, exec_sentinel_error_handler):
1354 Rename or move locals.
4dc343ee 1355 (Fmake_network_process): Define label "retry_connect" only if needed.
0da49335 1356 (Fnetwork_interface_info): Fix pointer signedness.
f990b4e5 1357 (process_send_signal): Add cast to avoid pointer signedness problem.
7b808126 1358 (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
c939f91b 1359 (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
b93aacde 1360
af8a867c 1361 Make tparam.h and terminfo.c consistent.
44f230aa
SM
1362 * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
1363 Include tparam.h instead, since it declares them.
af8a867c
PE
1364 * cm.h (PC): Remove extern decl; tparam.h now does this.
1365 * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
1366 * terminfo.c: Include tparam.h, to check interfaces.
1367 (tparm): Make 1st arg a const pointer in decl. Put it at top level.
1368 (tparam): Adjust signature to match interface in tparam.h;
1369 this removes some undefined behavior. Check that outstring and len
1370 are zero, which they always are with Emacs.
1371 * tparam.h (PC, BC, UP): New extern decls.
1372
0248044d 1373 * xftfont.c (xftfont_shape): Now static, and defined only if needed.
001a7ab4 1374 (xftfont_open): Rename locals to avoid shadowing.
0248044d 1375
8ff096c1 1376 * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
a00924bb
PE
1377 (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
1378 (OTF_TAG_SYM): Omit macro if not needed.
e932860f 1379 (ftfont_list): Remove unused local.
49eaafba
PE
1380 (get_adstyle_property, ftfont_pattern_entity):
1381 (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
1382 Rename locals to avoid shadowing.
8ff096c1 1383
e2be39f6
PE
1384 * xfont.c (xfont_list_family): Mark var as initialized.
1385
c9735e30
PE
1386 * xml.c (make_dom): Now static.
1387
8f5201ae
PE
1388 * composite.c (composition_compute_stop_pos): Rename local to
1389 avoid shadowing.
b246f932
PE
1390 (composition_reseat_it): Remove unused locals.
1391 (find_automatic_composition, composition_adjust_point): Likewise.
80e079b2 1392 (composition_update_it): Mark var as initialized.
11b61122
PE
1393 (find_automatic_composition): Mark vars as initialized,
1394 with a FIXME (Bug#8290).
8f5201ae 1395
760fbc2c
PE
1396 character.h: Rename locals to avoid shadowing.
1397 * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
1398 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
1399 (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
1400 (BUF_DEC_POS): Be more systematic about renaming local temporaries
1401 to avoid shadowing.
1402
ff08eb85
PE
1403 * textprop.c (property_change_between_p): Remove; unused.
1404
fc7bf025
PE
1405 * intervals.c (interval_start_pos): Now static.
1406
235d7abc
PE
1407 * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
1408
44f230aa
SM
1409 * atimer.c (start_atimer, append_atimer_lists, set_alarm):
1410 Rename locals to avoid shadowing.
3e7d6594 1411
50060332
PE
1412 * sound.c (wav_play, au_play, Fplay_sound_internal):
1413 Fix pointer signedness.
d01f234b 1414 (alsa_choose_format): Remove unused local var.
c83b8872
PE
1415 (wav_play): Initialize a variable to 0, to prevent undefined
1416 behavior (Bug#8278).
50060332 1417
c4fc4e30
PE
1418 * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
1419
918436ed
PE
1420 * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
1421
c939f91b
PE
1422 * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
1423 clobbering (Bug#8298).
b9c7f648
PE
1424 * sysdep.c (sys_subshell): Likewise.
1425 Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
7e9123a2 1426
6bd8c144
PE
1427 * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
1428 This should get cleaned up, so that child_setup has the
1429 same signature on all platforms.
1430
7710357c 1431 * callproc.c (call_process_cleanup): Now static.
cb1d0ef7 1432 (relocate_fd): Rename locals to avoid shadowing.
7710357c 1433
c59da222
CY
14342011-03-22 Chong Yidong <cyd@stupidchicken.com>
1435
1436 * xterm.c (x_clear_frame): Remove XClearWindow call. This appears
1437 not to be necessary, and produces flickering.
1438
66b87493
GM
14392011-03-20 Glenn Morris <rgm@gnu.org>
1440
1441 * config.in: Remove file.
1442
45b6f6d5
JB
14432011-03-20 Juanma Barranquero <lekktu@gmail.com>
1444
1445 * minibuf.c (Vcompleting_read_function): Don't declare, global variables
1446 are now in src/globals.h.
1447 (syms_of_minibuf): Remove spurious & from previous change.
1448
3ec03f7e
LL
14492011-03-20 Leo <sdl.web@gmail.com>
1450
1451 * minibuf.c (completing-read-function): New variable.
1452 (completing-read-default): Rename from completing-read.
1453 (completing-read): Call completing-read-function.
1454
b14e3e21
CY
14552011-03-19 Juanma Barranquero <lekktu@gmail.com>
1456
1457 * xfaces.c (Fx_load_color_file):
1458 Read color file from absolute filename (bug#8250).
1459
f2b726e6
JB
14602011-03-19 Juanma Barranquero <lekktu@gmail.com>
1461
1462 * makefile.w32-in: Update dependencies.
1463
09f6ff02
EZ
14642011-03-17 Eli Zaretskii <eliz@gnu.org>
1465
1466 * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
1467
29a6015a
PE
14682011-03-17 Paul Eggert <eggert@cs.ucla.edu>
1469
a3a6c54e
PE
1470 Fix more problems found by GCC 4.5.2's static checks.
1471
b766f867
PE
1472 * process.c (make_serial_process_unwind, send_process_trap):
1473 (sigchld_handler): Now static.
1474
be02381c
PE
1475 * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
1476 That way, the code declares only the vars that it needs.
1477 * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
1478 * s/cygwin.h (PTY_ITERATION): Likewise.
1479 * s/darwin.h (PTY_ITERATION): Likewise.
1480 * s/gnu-linux.h (PTY_ITERATION): Likewise.
1481
57048744
PE
1482 * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
1483 * process.c (allocate_pty): Don't declare stb unless it's needed.
1484
7914961c 1485 * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
615f2d59
PE
1486 (CONSTANTLIM): Remove; unused.
1487 (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
1488 Define only if needed.
7914961c 1489
b3967b18
PE
1490 * unexelf.c (unexec): Name an expression,
1491 to avoid gcc -Wbad-function-cast warning.
9ae71512
PE
1492 Use a different way to cause a compilation error if anyone uses
1493 n rather than nn, a way that does not involve shadowing.
73366a00 1494 (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
b3967b18 1495
29a6015a
PE
1496 * deps.mk (unexalpha.o): Remove; unused.
1497
43cfc33e 1498 New file unexec.h, the (simple) interface for unexec (Bug#8267).
7feda0d2 1499 * unexec.h: New file.
ce701a33
PE
1500 * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
1501 (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
1502 Depend on unexec.h.
1503 * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
1504 * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
1505 * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
381259ef 1506 Change as necessary to match prototype in unexec.h.
ce701a33 1507
01f44d5a
PE
1508 * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
1509 shadowing.
4f63c6bb 1510 (back_comment, skip_chars): Mark vars as initialized.
01f44d5a 1511
a6670b0b
PE
1512 * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
1513 Rename locals to avoid shadowing.
1514
cef2010d 1515 * lread.c (read1): Rewrite so as not to use empty "else".
0902fe45 1516 (Fload, readevalloop, read1): Rename locals to avoid shadowing.
cef2010d 1517
d4d7173a
PE
1518 * print.c (Fredirect_debugging_output): Fix pointer signedess.
1519
f08b802a
PE
1520 * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
1521 warning when compiling print.c.
1522
3ddb0639
PE
1523 * font.c (font_unparse_fcname): Abort in an "impossible" situation
1524 instead of using an uninitialized var.
5ad03b97 1525 (font_sort_entities): Mark var as initialized.
3ddb0639 1526
170a2692
PE
1527 * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
1528
e663c700
PE
1529 * font.c (font_unparse_xlfd): Don't mix pointers to variables with
1530 pointers to constants.
89bc529a 1531 (font_parse_fcname): Remove unused vars.
7b81e2d0 1532 (font_delete_unmatched): Now static.
ea838e10 1533 (font_get_spec): Remove; unused.
13a547c6
PE
1534 (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
1535 (font_update_drivers, Ffont_get_glyphs, font_add_log):
1536 Rename or move locals to avoid shadowing.
e663c700 1537
2a80c887 1538 * fns.c (require_nesting_list, require_unwind): Now static.
612f56df 1539 (Ffillarray): Rename locals to avoid shadowing.
2a80c887 1540
1384fa33 1541 * floatfns.c (domain_error2): Define only if needed.
a885e2ed 1542 (Ffrexp, Fldexp): Rename locals to avoid shadowing.
1384fa33 1543
8b2c52e9
PE
1544 * alloc.c (mark_backtrace): Move decl from here ...
1545 * lisp.h: ... to here, so that it can be checked.
1546
475545b5 1547 * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
d28a2170 1548 (Fdefvar): Rewrite so as not to use empty "else".
cfcbfb1a
PE
1549 (lisp_indirect_variable): Name an expression,
1550 to avoid gcc -Wbad-function-cast warning.
1faed8ae 1551 (Fdefvar): Rename locals to avoid shadowing.
475545b5 1552
b1349114 1553 * callint.c (quotify_arg, quotify_args): Now static.
a3e8cbda 1554 (Fcall_interactively): Rename locals to avoid shadowing.
b0e80955 1555 Use const pointer when appropriate.
b1349114 1556
a2928364
PE
1557 * lisp.h (get_system_name, get_operating_system_release):
1558 Move decls here, to check interfaces.
1559 * process.c (get_operating_system_release): Move decl to lisp.h.
1560 * xrdb.c (get_system_name): Likewise.
63c5d10b
PE
1561 * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
1562 (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
1563 some of which prompt warnings from gcc -Wbad-function-cast.
545b49b4
PE
1564 (Fformat_time_string, Fencode_time, Finsert_char):
1565 (Ftranslate_region_internal, Fformat):
1566 Rename or remove local vars to avoid shadowing.
9710023e 1567 (Ftranslate_region_internal): Mark var as initialized.
63c5d10b 1568
a415e694
PE
1569 * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
1570 avoid shadowing.
1571
8ef4622d
PE
1572 * lisp.h (eassert): Check that the argument compiles, even if
1573 ENABLE_CHECKING is not defined.
1574
946f9a5b
PE
1575 * data.c (Findirect_variable): Name an expression, to avoid
1576 gcc -Wbad-function-cast warning.
112396d6 1577 (default_value, arithcompare, arith_driver, arith_error): Now static.
b9b84fa9 1578 (store_symval_forwarding): Rename local to avoid shadowing.
44f230aa
SM
1579 (Fmake_variable_buffer_local, Fmake_local_variable):
1580 Mark variables as initialized.
52746918 1581 (do_blv_forwarding, do_symval_forwarding): Remove; unused.
946f9a5b 1582
e5aab7e7 1583 * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
ae35e756
PE
1584 (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
1585 Rename locals to avoid shadowing.
dff45157
PE
1586 (mark_stack): Move local variables into the #ifdef region where
1587 they're used.
7bc26fdb
PE
1588 (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
1589 ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
1590 needed otherwise.
1591 (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
1592 (GC_STRING_CHARS): Remove; not used.
d40d4be1 1593 (Fmemory_limit): Cast sbrk's returned value to char *.
ae35e756 1594
e5aab7e7
PE
1595 * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
1596 avoids undefined behavior in theory.
1597
4da60324
PE
1598 * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
1599
88043301
PE
1600 Use functions, not macros, for up- and down-casing (Bug#8254).
1601 * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1602 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed
1603 to use the following functions instead of these macros.
1604 (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not
1605 EMACS_INT, since callers assume the returned value fits in int.
1606 (upcase1): Likewise, for UPCASE_TABLE.
1607 (uppercasep, lowercasep, upcase): New static inline functions.
0da09c43 1608 * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
db69b0cd 1609 the race-condition problem in the old DOWNCASE.
88043301 1610
19ed5445
PE
1611 * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
1612 Rename locals to avoid shadowing.
1613 (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
abbd1bcf
PE
1614 (regex_compile, re_search_2, re_match_2_internal):
1615 Remove unused local vars.
952db0d7
PE
1616 (FREE_VAR): Rewrite so as not to use empty "else",
1617 which gcc can warn about.
da053e48 1618 (regex_compile, re_match_2_internal): Mark locals as initialized.
b313f9d8
PE
1619 (RETALLOC_IF): Define only if needed.
1620 (WORDCHAR_P): Likewise. This one is never needed, but is used
1621 only in a comment talking about a compiler bug, so put inside
1622 the #if 0 of that comment.
1623 (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
1624 (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
1625 Remove; unused.
19ed5445 1626
1f3561e4 1627 * search.c (boyer_moore): Rename locals to avoid shadowing.
76ef09b7
PE
1628 * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
1629 (PREV_CHAR_BOUNDARY): Likewise.
1f3561e4 1630
ded6f8f7
PE
1631 * search.c (simple_search): Remove unused var.
1632
dbd37a95
PE
1633 * dired.c (compile_pattern): Move decl from here ...
1634 * lisp.h: ... to here, so that it can be checked.
1635 (struct re_registers): New forward decl.
1636
7e47afad
PE
1637 * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
1638
85f24f61
PE
1639 * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
1640 All uses changed.
1641 (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
1642 Rename locals to avoid shadowing.
5671df8f 1643 (Fvertical_motion): Mark locals as initialized.
85f24f61 1644
181aa2be 1645 * casefiddle.c (casify_object, casify_region): Now static.
e45a141a 1646 (casify_region): Mark local as initialized.
181aa2be 1647
930d429c
PE
1648 * cmds.c (internal_self_insert): Rename local to avoid shadowing.
1649
7082eac6
PE
1650 * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
1651 New macros, so that the caller can use some names other than
1652 gcpro1, gcpro2, etc.
1653 (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
1654 of the new macros.
1655 (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
1656 argument, for consistency with GCPRO2_VAR, etc: it is now the
1657 prefix of the variable, not the variable itself. All uses
1658 changed.
38b2c076
PE
1659 * dired.c (directory_files_internal, file_name_completion):
1660 Rename locals to avoid shadowing.
1661
15206ed9
PE
1662 Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
1663 An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
1664 dired.c's scmp function, had undefined behavior.
1665 * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
1666 (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
1667 * buffer.h: ... to here, because these macros use current_buffer,
1668 and the new implementation with inline functions needs to have
1669 current_buffer in scope now, rather than later when the macros
1670 are used.
1671 (downcase, upcase1): New static inline functions.
1672 (DOWNCASE, UPCASE1): Reimplement using these functions.
1673 This avoids undefined behavior in expressions like
1674 DOWNCASE (x) == DOWNCASE (y), which previously suffered
1675 from race conditions in accessing the global variables
1676 case_temp1 and case_temp2.
1677 * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
1678 * lisp.h (case_temp1, case_temp2): Remove their decls.
1679 * character.h (ASCII_CHAR_P): Move from here ...
1680 * lisp.h: ... to here, so that the inline functions mentioned
1681 above can use them.
1682
4a6bea26
PE
1683 * dired.c (directory_files_internal_unwind): Now static.
1684
f14b7e14
PE
1685 * fileio.c (file_name_as_directory, directory_file_name):
1686 (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
1687 Now static.
2893f146
PE
1688 (file_name_as_directory): Use const pointers when appropriate.
1689 (Fexpand_file_name): Likewise. In particular, newdir might
1690 point at constant storage, so make it a const pointer.
fd4ead52 1691 (Fmake_directory_internal, Fread_file_name): Remove unused vars.
b14aac08
PE
1692 (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
1693 signedness issues.
f839df0c
PE
1694 (Fset_file_times, Finsert_file_contents, auto_save_error):
1695 Rename locals to avoid shadowing.
f14b7e14 1696
5716756e 1697 * minibuf.c (choose_minibuf_frame_1): Now static.
62137a95
PE
1698 (Ftry_completion, Fall_completions): Rename or remove locals
1699 to avoid shadowing.
5716756e 1700
b4c3046a
PE
1701 * marker.c (bytepos_to_charpos): Remove; unused.
1702
b45db522
PE
1703 * lisp.h (verify_bytepos, count_markers): New decls,
1704 so that gcc does not warn that these functions aren't declared.
1705
85876d07
PE
1706 * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
1707 (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
f0cb4a60 1708 (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
40ef059e 1709 (copy_text): Remove unused local var.
85876d07 1710
03d78a21 1711 * filelock.c (within_one_second): Now static.
b3dd38ab 1712 (lock_file_1): Rename local to avoid shadowing.
03d78a21 1713
5df8f01b
PE
1714 * buffer.c (fix_overlays_before): Mark locals as initialized.
1715 (fix_start_end_in_overlays): Likewise. This function should be
1716 simplified by using pointers-to-pointers, but that's a different
1717 matter.
b1d876f1 1718 (switch_to_buffer_1): Now static.
8f54f30a
PE
1719 (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
1720 (report_overlay_modification): Rename locals to avoid shadowing.
c3bd59b5 1721
a70072c9 1722 * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
fbd02d7b 1723 Fix pointer signedness issue.
edced198
PE
1724 (sys_subshell): Mark local as volatile if checking for lint,
1725 to suppress a gcc -Wclobbered warning that does not seem to be right.
15dfd3d9 1726 (MAXPATHLEN): Define only if needed.
a70072c9 1727
a0977c44
PE
1728 * process.c (serial_open, serial_configure): Move decls from here ...
1729 * systty.h: ... to here, so that they can be checked.
1730
a884fdcc
PE
1731 * fns.c (get_random, seed_random): Move extern decls from here ...
1732 * lisp.h: ... to here, so that they can be checked.
1733
604efe86 1734 * sysdep.c (reset_io): Now static.
b8950c94 1735 (wait_for_termination_signal): Remove; unused.
604efe86 1736
38fc62d9
PE
1737 * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
1738 (copy_keymap_item, append_key, push_text_char_description):
1739 Now static.
1004a21a 1740 (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
dbbb8427 1741 (DENSE_TABLE_SIZE): Remove; unused.
c1141155
PE
1742 (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
1743 (describe_map_tree):
1744 Rename locals to avoid shadowing.
38fc62d9 1745
2f2650da
PE
1746 * keyboard.c: Declare functions static if they are not used elsewhere.
1747 (echo_char, echo_dash, cmd_error, top_level_2):
1748 (poll_for_input, handle_async_input): Now static.
69a058fa
PE
1749 (read_char, kbd_buffer_get_event, make_lispy_position):
1750 (make_lispy_event, make_lispy_movement, apply_modifiers):
1751 (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
1752 (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
1753 (Fread_key_sequence_vector): Rename locals to avoid shadowing.
c8a06054 1754 (read_key_sequence, read_char): Mark locals as initialized.
3ac94672 1755 (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
2f2650da 1756
a053e86c 1757 * keyboard.h (make_ctrl_char): New decl.
da2f2dd9
PE
1758 (mark_kboards): Move decl here ...
1759 * alloc.c (mark_kboards): ... from here.
a053e86c 1760
4752793e
PE
1761 * lisp.h (force_auto_save_soon): New decl.
1762
74f10ca7 1763 * emacs.c (init_cmdargs): Rename local to avoid shadowing.
244fc23d
PE
1764 (DEFINE_DUMMY_FUNCTION): New macro.
1765 (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
1766 Use it.
c03cd23f
PE
1767 (main): Add casts to avoid warnings
1768 if GCC considers string literals to be constants.
74f10ca7 1769
022e70d4
PE
1770 * lisp.h (fatal_error_signal): Add decl, since it's exported.
1771
59d6fe83
PE
1772 * dbusbind.c: Pointer signedness fixes.
1773 (xd_signature, xd_append_arg, xd_initialize):
1774 (Fdbus_call_method, Fdbus_call_method_asynchronously):
1775 (Fdbus_method_return_internal, Fdbus_method_error_internal):
1776 (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
1777 (Fdbus_register_signal): Use SSDATA when the context wants char *.
1778
78320123
PE
1779 * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
1780 if GCC considers string literals to be constants.
49cebcca 1781 (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
78320123 1782
35ac2a97
SM
17832011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
1784
fb103ca9
SM
1785 * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
1786 (print_preprocess, print_object): New macro to fix last change.
1787
35ac2a97
SM
1788 * print.c (print_preprocess): Don't forget font objects.
1789
62973b41
JB
17902011-03-16 Juanma Barranquero <lekktu@gmail.com>
1791
1792 * emacs.c (USAGE3): Doc fixes.
1793
0e48bb22
AS
17942011-03-15 Andreas Schwab <schwab@linux-m68k.org>
1795
1796 * coding.c (detect_coding_iso_2022): Reorganize code to clarify
1797 structure.
1798
7684e57b
JB
17992011-03-14 Juanma Barranquero <lekktu@gmail.com>
1800
1801 * lisp.h (VWindow_system, Qfile_name_history):
1802 * keyboard.h (lispy_function_keys) [WINDOWSNT]:
1803 * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
1804 (w32_system_caret_x, w32_system_caret_y): Declare extern.
1805
1806 * w32select.c: Don't #include "keyboard.h".
c96bbc66 1807 (run_protected): Add extern declaration for waiting_for_input.
7684e57b
JB
1808
1809 * w32.c (Qlocal, noninteractive1, inhibit_window_system):
1810 * w32console.c (detect_input_pending, read_input_pending)
1811 (encode_terminal_code):
1812 * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
1813 (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
1814 (w32_system_caret_y, Qfile_name_history):
1815 * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
1816 * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
1817 * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
1818 (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
1819 * w32proc.c (Qlocal, report_file_error):
1820 * w32term.c (Vwindow_system, updating_frame):
1821 * w32uniscribe.c (initialized, uniscribe_font_driver):
1822 Remove unneeded extern declarations.
1823
2aa46d6c
CY
18242011-03-14 Chong Yidong <cyd@stupidchicken.com>
1825
c96bbc66 1826 * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
2aa46d6c 1827
cffc6f3b
CY
18282011-03-13 Chong Yidong <cyd@stupidchicken.com>
1829
1830 * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
1831 (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
1832 These macros can no longer be used for assignment.
1833
44f230aa
SM
1834 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
1835 Assign struct members directly, instead of using BUF_BEGV etc.
cffc6f3b
CY
1836 (record_buffer_markers, fetch_buffer_markers): New functions for
1837 recording and fetching special buffer markers.
1838 (set_buffer_internal_1, set_buffer_temp): Use them.
1839
1840 * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
1841
1842 * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
1843
1844 * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
1845 (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
1846
1847 * xdisp.c (hscroll_window_tree):
1848 (reconsider_clip_changes): Use PT instead of BUF_PT.
1849
d251f04b
EZ
18502011-03-13 Eli Zaretskii <eliz@gnu.org>
1851
1852 * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
1853 $(EMACS_ROOT)/lib/intprops.h.
1854
f0c77cd1
PE
18552011-03-13 Paul Eggert <eggert@cs.ucla.edu>
1856
3eca4629
PE
1857 Fix more problems found by GCC 4.5.2's static checks.
1858
7c86ee98
PE
1859 * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
1860 to unsigned char * to avoid compiler diagnostic.
b0afc268
PE
1861 (xg_free_frame_widgets): Make it clear that a local variable is
1862 needed only if USE_GTK_TOOLTIP.
01e0b5ad
PE
1863 (gdk_window_get_screen): Make it clear that this macro is needed
1864 only if USE_GTK_TOOLTIP.
1e5524e7
PE
1865 (int_gtk_range_get_value): New function, which avoids a diagnostic
1866 from gcc -Wbad-function-cast.
1867 (xg_set_toolkit_scroll_bar_thumb): Use it.
1868 (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
1869 diagnostic from gcc -Wbad-function-cast.
65dc836c
PE
1870 (get_utf8_string, xg_get_file_with_chooser):
1871 Rename locals to avoid shadowing.
1872 (create_dialog): Move locals to avoid shadowing.
7c86ee98 1873
41729b81
PE
1874 * xgselect.c (xg_select): Remove unused var.
1875
f0c77cd1
PE
1876 * image.c (four_corners_best): Mark locals as initialized.
1877 (gif_load): Initialize transparent_p to zero (Bug#8238).
1878 Mark another local as initialized.
ec6cf4c6 1879 (my_png_error, my_error_exit): Mark with NO_RETURN.
f0c77cd1 1880
ce0ad53d 1881 * image.c (clear_image_cache): Now static.
d5d5a617 1882 (DIM, HAVE_STDLIB_H_1): Remove unused macros.
e22cffbc 1883 (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
77a765fd
PE
1884 (x_edge_detection): Remove unnecessary cast that
1885 gcc -Wbad-function-cast diagnoses.
2037898d 1886 (gif_load): Fix pointer signedness.
6ae141d6
PE
1887 (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
1888 (jpeg_load, gif_load): Rename locals to avoid shadowing.
ce0ad53d 1889
33383987 18902011-03-12 Paul Eggert <eggert@cs.ucla.edu>
3eca4629 1891
d32df629
PE
1892 Improve quality of tests for time stamp overflow.
1893 For example, without this patch (encode-time 0 0 0 1 1
1894 1152921504606846976) returns the obviously-bogus value (-948597
1895 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly
1896 reports time overflow. See
1897 <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
b8d9bd41
PE
1898 * deps.mk (editfns.o): Depend on ../lib/intprops.h.
1899 * editfns.c: Include limits.h and intprops.h.
1900 (TIME_T_MIN, TIME_T_MAX): New macros.
1901 (time_overflow): Move earlier, to before first use.
1902 (hi_time, lo_time): New functions, for an accurate test for
1903 out-of-range times.
1904 (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
1905 (Fget_internal_run_time): Don't assume time_t fits in int.
1906 (make_time): Use list2 instead of Fcons twice.
1907 (Fdecode_time): More accurate test for out-of-range times.
1908 (check_tm_member): New function.
1909 (Fencode_time): Use it, to test for out-of-range times.
d32df629
PE
1910 (lisp_time_argument): Don't rely on undefined left-shift and
1911 right-shift behavior when checking for time stamp overflow.
8be6f318 1912
fe31d94c
PE
1913 * editfns.c (time_overflow): New function, refactoring common code.
1914 (Fformat_time_string, Fdecode_time, Fencode_time):
1915 (Fcurrent_time_string): Use it.
1916
8be6f318
PE
1917 Move 'make_time' to be next to its inverse 'lisp_time_argument'.
1918 * dired.c (make_time): Move to ...
1919 * editfns.c (make_time): ... here.
1920 * systime.h: Note the move.
1921
09d9db2c 19222011-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
c47cbdfd 1923
126bc0dc
YM
1924 * fringe.c (update_window_fringes): Remove unused variables.
1925
c47cbdfd
YM
1926 * unexmacosx.c (copy_data_segment): Also copy __got section.
1927 (Bug#8223)
1928
7ac80be9
EZ
19292011-03-12 Eli Zaretskii <eliz@gnu.org>
1930
c96bbc66 1931 * termcap.c [MSDOS]: Include "msdos.h".
058e5dad
EZ
1932 (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
1933 Constify `char *' arguments and their references according to
1934 prototypes in tparam.h.
1935
ecb0f94d 1936 * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
058e5dad 1937
7ac80be9
EZ
1938 * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
1939 Adapt all references accordingly.
1940
1941 * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
1942
ef1fd07e
TT
19432011-03-11 Tom Tromey <tromey@redhat.com>
1944
1945 * buffer.c (syms_of_buffer): Remove obsolete comment.
1946
7ef4b50c
EZ
19472011-03-11 Eli Zaretskii <eliz@gnu.org>
1948
1949 * termhooks.h (encode_terminal_code): Declare prototype.
1950
1951 * msdos.c (encode_terminal_code): Don't declare prototype.
1952
1953 * term.c (encode_terminal_code): Now external again, used by
1954 w32console.c and msdos.c.
1955
44f230aa
SM
1956 * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
1957 Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
7ef4b50c 1958
4b1ec863 19592011-03-11 Paul Eggert <eggert@cs.ucla.edu>
f78faa98 1960
1714f52b 1961 Fix some minor problems found by GCC 4.5.2's static checks.
83316bf4 1962
4b1ec863
PE
1963 * fringe.c (update_window_fringes): Mark locals as initialized
1964 (Bug#8227).
1965 (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
bf60f616 1966
524c7aa6
PE
1967 * alloc.c (mark_fringe_data): Move decl from here ...
1968 * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
1969 to check its interface.
1970 (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
1971
a5c0af81 1972 * fontset.c (free_realized_fontset): Now static.
7519b8cd 1973 (Fset_fontset_font): Rename local to avoid shadowing.
cc6e5db1 1974 (fontset_font): Mark local as initialized.
a9a06e0b 1975 (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
a5c0af81 1976
b4716021
PE
1977 * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
1978
811e9bac 1979 * xselect.c (x_disown_buffer_selections): Remove; not used.
7b83e2f1 1980 (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
aa0daa9f
PE
1981 (x_own_selection, Fx_disown_selection_internal): Rename locals
1982 to avoid shadowing.
1983 (x_handle_dnd_message): Remove local to avoid shadowing.
811e9bac 1984
7e3ab302
PE
1985 * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
1986 so that the caller can use some name other than gcpro1.
1987 (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
58d2d479
PE
1988 * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1989 (Fx_backspace_delete_keys_p):
1990 Use them to avoid shadowing, and rename vars to avoid shadowing.
1991 (x_decode_color, x_set_name, x_window): Now static.
6b437900 1992 (Fx_create_frame): Add braces to silence GCC warning.
c0951e53 1993 (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
06b0c8a0
PE
1994 (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
1995 Remove unused locals.
7e3ab302
PE
1996 (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
1997 (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
1998 Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
1999 macros.
f78faa98 2000
e2b13473
PE
2001 * xterm.h (x_mouse_leave): New decl.
2002
77f23912
PE
2003 * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
2004 Remove unused functions.
cdf4ba58
PE
2005 (x_shift_glyphs_for_insert, XTflash, XTring_bell):
2006 (x_calc_absolute_position): Now static.
7411c686 2007 (XTread_socket): Don't define label "out" unless it's used.
2b07bcff 2008 Don't declare local "event" unless it's used.
ed7bf3a5
PE
2009 (x_iconify_frame, x_free_frame_resources): Don't declare locals
2010 unless they are used.
38d0b34a
PE
2011 (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
2012 (x_fatal_error_signal): Remove; not used.
a6067996
PE
2013 (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
2014 (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
2015 (x_error_catcher, x_connection_closed, x_error_handler):
2016 (x_error_quitter, xembed_send_message, x_iconify_frame):
2017 (my_log_handler): Rename locals to avoid shadowing.
28f1c698 2018 (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
2a8fade0 2019 (x_connection_closed): Tell GCC not to suggest NO_RETURN.
77f23912 2020
44f230aa
SM
2021 * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
2022 Rename or move locals to avoid shadowing.
6b463e58 2023 (tty_defined_color, merge_face_heights): Now static.
5967d051 2024 (free_realized_faces_for_fontset): Remove; not used.
1e9966ea
PE
2025 (Fx_list_fonts): Mark variable that gcc -Wuninitialized
2026 does not deduce is never used uninitialized.
73719eba
PE
2027 (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
2028 (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
071048a3 2029
426994c3 2030 * terminal.c (store_terminal_param): Now static.
5489860b 2031
032f1620 2032 * xmenu.c (menu_highlight_callback): Now static.
9d66f88e 2033 (set_frame_menubar): Remove unused local.
d4323972 2034 (xmenu_show): Rename parameter to avoid shadowing.
6d1f7fee
PE
2035 (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
2036 since they might point to immutable storage.
281585b0
PE
2037 (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
2038 since it's unused otherwise.
032f1620 2039
367c19e5 2040 * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
53df7c11 2041 Add a FIXME, since the code still doesn't look right. (Bug#8215)
9f36b9fd
PE
2042 (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
2043 avoids a gcc -Wuninitialized diagnostic.
0e086e8f 2044 (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
44a3a108
PE
2045 (note_mouse_highlight): Mark variables that gcc -Wuninitialized
2046 does not deduce are never used uninitialized.
70739cbe 2047
07b48fa9
PE
2048 * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
2049
8868a238 2050 * xdisp.c (redisplay_window): Rename local to avoid shadowing.
4554d213
PE
2051 * window.c (window_loop, size_window):
2052 (run_window_configuration_change_hook, enlarge_window): Likewise.
8868a238 2053
7e5cf297 2054 * window.c (display_buffer): Now static.
d6550a9f
PE
2055 (size_window): Mark variables that gcc -Wuninitialized
2056 does not deduce are never used uninitialized.
a586633d
PE
2057 * window.h (check_all_windows): New decl, to forestall
2058 gcc -Wmissing-prototypes diagnostic.
5b555da1 2059 * dispextern.h (bidi_dump_cached_states): Likewise.
7e5cf297 2060
f6095868
PE
2061 * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
2062 shadowing.
2063 * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
726929c4
PE
2064 Include <limits.h>.
2065 (Fsort_charsets): Redo min/max calculation to shorten the code a bit
2066 and to avoid gcc -Wuninitialized warning.
89ef49df
PE
2067 (load_charset_map): Mark variables that gcc -Wuninitialized
2068 does not deduce are never used uninitialized.
53df7c11 2069 (load_charset): Abort instead of using uninitialized var (Bug#8229).
f6095868 2070
f38b440c
PE
2071 * coding.c (coding_set_source, coding_set_destination):
2072 Use "else { /* comment */ }" rather than "else /* comment */;"
2073 for clarity, and to avoid gcc -Wempty-body warning.
2735d060
PE
2074 (Fdefine_coding_system_internal): Don't redeclare 'i' inside
2075 a block, when the outer 'i' will do.
2076 (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
2077 (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
2078 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
2079 (decode_coding_raw_text, decode_coding_charset, get_translation_table):
2080 (Fdecode_sjis_char, Fdefine_coding_system_internal):
2081 Rename locals to avoid shadowing.
2082 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
e2f1bab9
PE
2083 * coding.c (emacs_mule_char, encode_invocation_designation):
2084 Now static, since they're not used elsewhere.
413bb2db 2085 (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
c4a63b12 2086 (decode_coding_object, encode_coding_object, detect_coding_system):
ee05f961
PE
2087 (decode_coding_emacs_mule): Mark variables that gcc
2088 -Wuninitialized does not deduce are never used uninitialized.
160b01f6
PE
2089 (detect_coding_iso_2022): Initialize a local variable that might
2090 be used uninitialized. Leave a FIXME because it's not clear that
53df7c11 2091 this initialization is needed. (Bug#8211)
5f58e762
PE
2092 (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
2093 (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
2094 (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
2095 (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
2096 Remove unused macros.
f38b440c 2097
232b38b9 2098 * category.c (hash_get_category_set): Remove unused local var.
9f3b5e69 2099 (copy_category_table): Now static, since it's not used elsewhere.
d0891610 2100 * character.c (string_count_byte8): Likewise.
232b38b9 2101
fb90da1b
PE
2102 * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
2103 (Fregister_code_conversion_map): Rename locals to avoid shadowing.
2104
fb93dbc2
PE
2105 * chartab.c (copy_sub_char_table): Now static, since it's not used
2106 elsewhere.
5c156ace
PE
2107 (sub_char_table_ref_and_range, char_table_ref_and_range):
2108 Rename locals to avoid shadowing.
bbcd0949 2109 (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
fb93dbc2 2110
7d3b3862 2111 * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
630d6892 2112 (BIDI_BOB): Remove unused macro.
7d3b3862 2113
6be7d3da
PE
2114 * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
2115 deduce are never used uninitialized.
c2ed9c8b 2116 * term.c (encode_terminal_code): Likewise.
6be7d3da 2117
75f8807f 2118 * term.c (encode_terminal_code): Now static. Remove unused local.
72abad34 2119
50938595
PE
2120 * tparam.h: New file.
2121 * term.c, tparam.h: Include it.
2122 * deps.mk (term.o, tparam.o): Depend on tparam.h.
2123 * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
2124 Move these decls to tparam.h, and make them agree with what
2125 is actually in tparam.c. The previous trick of using incompatible
2126 decls in different modules does not conform to the C standard.
2127 All callers of tparam changed to use tparam's actual API.
2128 * tparam.c (tparam1, tparam, tgoto):
2129 Use const pointers where appropriate.
2130
fbceeba2
PE
2131 * cm.c (calccost, cmgoto): Use const pointers where appropriate.
2132 * cm.h (struct cm): Likewise.
2133 * dispextern.h (do_line_insertion_deletion_costs): Likewise.
2134 * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
2135 * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
2136 (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
2137 (turn_on_face, init_tty): Likewise.
2138 * termchar.h (struct tty_display_info): Likewise.
fbceeba2 2139
7f3f1250
PE
2140 * term.c (term_mouse_position): Rename local to avoid shadowing.
2141
e6ca6543
PE
2142 * alloc.c (mark_ttys): Move decl from here ...
2143 * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
2144
c40f8d15
AS
21452011-03-11 Andreas Schwab <schwab@linux-m68k.org>
2146
2147 * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
2148
cfe0661d
JB
21492011-03-09 Juanma Barranquero <lekktu@gmail.com>
2150
2151 * search.c (compile_pattern_1): Remove argument regp, unused since
2152 revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
2153 (compile_pattern): Don't pass it.
2154
0afb4571
J
21552011-03-08 Jan Djärv <jan.h.d@swipnet.se>
2156
2157 * xterm.h (DEFAULT_GDK_DISPLAY): New define.
2158 (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
2159 for ! HAVE_GTK3.
2160 (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
2161
2162 * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
2163
2164 * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
2165 gdk_window_get_screen, gdk_window_get_geometry,
2166 gdk_x11_window_lookup_for_display and GDK_KEY_g.
2167 (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
2168 (xg_get_pixbuf_from_pixmap): New function.
2169 (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
2170 to Pixmap, take frame as parameter, remove GdkColormap parameter.
2171 Call xg_get_pixbuf_from_pixmap instead of
2172 gdk_pixbuf_get_from_drawable.
2173 (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
2174 xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
2175 (xg_check_special_colors): Use GtkStyleContext and its functions
2176 for HAVE_GTK3.
2177 (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
2178 (xg_prepare_tooltip, create_dialog, menubar_map_cb)
2179 (xg_update_frame_menubar, xg_tool_bar_detach_callback)
44f230aa
SM
2180 (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
2181 Call gtk_widget_get_preferred_size.
0afb4571
J
2182 (xg_frame_resized): gdk_window_get_geometry only takes 5
2183 parameters.
44f230aa
SM
2184 (xg_win_to_widget, xg_event_is_for_menubar):
2185 Call gdk_x11_window_lookup_for_display.
0afb4571
J
2186 (xg_set_widget_bg): New function.
2187 (delete_cb): New function.
2188 (xg_create_frame_widgets): connect delete-event to delete_cb.
2189 Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
2190 (xg_set_background_color): Call xg_set_widget_bg.
2191 (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
2192 (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
2193 Only call gtk_range_set_update_policy if ! HAVE_GTK3.
2194 (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
2195 if ! HAVE_GTK3.
2196 (update_frame_tool_bar): Call gtk_widget_hide.
2197 (xg_initialize): Use GDK_KEY_g.
2198
2199 * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
2200 if ! HAVE_GTK3
2201 (x_session_initialize): Call gdk_x11_set_sm_client_id.
2202
2203 * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
2204 (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
2205 Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
2206
1c2cc4ef
JB
22072011-03-08 Juanma Barranquero <lekktu@gmail.com>
2208
2209 * w32xfns.c (select_palette): Check success of RealizePalette against
2210 GDI_ERROR, not zero.
2211
33383987 2212See ChangeLog.11 for earlier changes.
aac0c6e3
MR
2213
2214;; Local Variables:
2215;; coding: utf-8
aac0c6e3
MR
2216;; End:
2217
33383987 2218 Copyright (C) 2011 Free Software Foundation, Inc.
aac0c6e3
MR
2219
2220 This file is part of GNU Emacs.
2221
2222 GNU Emacs is free software: you can redistribute it and/or modify
2223 it under the terms of the GNU General Public License as published by
2224 the Free Software Foundation, either version 3 of the License, or
2225 (at your option) any later version.
2226
2227 GNU Emacs is distributed in the hope that it will be useful,
2228 but WITHOUT ANY WARRANTY; without even the implied warranty of
2229 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2230 GNU General Public License for more details.
2231
2232 You should have received a copy of the GNU General Public License
2233 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.