(check-declare-verify): Tweak regexp for end of function-name. Handle
[emacs.git] / src / ChangeLog
blob4113948bc973b7c47a7f1c14ac7cf256c58e2795
1 2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3         * buffer.c (Fbuffer_local_value): Remove redundant test.
4         (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
5         than in `current-buffer' to match the comment.
6         Do the swap using swap_in_global_binding.
8         * data.c (store_symval_forwarding, set_internal):
9         * eval.c (specbind): Remove dead code.
11         * coding.c (detect_coding, Fupdate_coding_systems_internal):
12         * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13         Since we do not want to see internal Lisp_*fwd objects here.
15 2007-11-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
17         * sysdep.c (init_system_name): Use getaddrinfo if available.
19         * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
20         (x_scroll_bar_note_movement): start, end, with, height in struct
21         scroll_bar are integers and not Lisp_Object, so remove XINT for them.
23 2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
25         * puresize.h (BASE_PURESIZE): Increase to 1190000.
27 2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
29         * buffer.h (struct buffer): Move `undo_list' back to before `name'.
30         This undoes Richard's change of 14-Oct-2002.
32         * alloc.c (allocate_other_vector):
33         * lisp.h (allocate_other_vector): Remove.
35         * window.c (struct save_window_data): Move non-lisp data to the end
36         and make it `int' rather than Lisp_Object.
37         (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
38         Done wrap/unwrap integer values.
39         (Fset_window_configuration, compare_window_configurations):
40         Update use of fields to their new types.
42         * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
43         Turn integer fields into `int'.  Merge x_window_low and x_window_high.
44         (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
45         (SET_SCROLL_BAR_X_WINDOW): Remove.
46         (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
47         Access the new x_window field directly.
48         * xterm.c (x_scroll_bar_create): Use a pseudovector.
49         Don't wrap/unwrap integers into Lisp_Objects.
50         (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
51         (x_scroll_bar_report_motion):
52         Don't wrap/unwrap integers into Lisp_Objects.
53         (x_term_init): Use SDATA.
54         (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
55         (x_scroll_bar_set_handle, x_scroll_bar_remove)
56         (XTset_vertical_scroll_bar, x_scroll_bar_expose)
57         (x_scroll_bar_report_motion, x_scroll_bar_clear):
58         * xfns.c (x_set_background_color):
59         * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
60         Access the new x_window field directly.
62         * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
63         (allocate_pseudovector): Make non-static.
65         * lisp.h (enum pvec_type): New tag PVEC_OTHER.
66         (allocate_pseudovector): Declare.
67         (ALLOCATE_PSEUDOVECTOR): Move from alloc.c
69 2007-11-15  Andreas Schwab  <schwab@suse.de>
71         * editfns.c (Fformat): Correctly format EMACS_INT values.
72         Also take precision into account when formatting an integer.
74         * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
76 2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
78         * keyboard.c (Fevent_symbol_parse_modifiers): New function.
79         (syms_of_keyboard): Defsubr it.
81         * data.c (swap_in_global_binding): Fix longstanding bug where
82         store_symval_forwarding was not called with the right second argument,
83         thus causing objfwd-ing from being dropped.
85 2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
87         * macfns.c (Fx_create_frame, Fx_display_pixel_width)
88         (Fx_display_pixel_height, Fx_display_planes)
89         (Fx_display_color_cells, Fx_server_max_request_size)
90         (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
91         (Fx_display_visual_class, Fx_display_save_under):
92         * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
93         (Fx_display_pixel_height, Fx_display_planes)
94         (Fx_display_color_cells, Fx_server_max_request_size)
95         (Fx_server_vendor, Fx_server_version, Fx_display_screens)
96         (Fx_display_mm_height, Fx_display_mm_width)
97         (Fx_display_backing_store, Fx_display_visual_class)
98         (Fw32_select_font, Fx_display_save_under):
99         * xfns.c (Fx_create_frame, Fx_display_pixel_width)
100         (Fx_display_pixel_height, Fx_display_planes)
101         (Fx_display_color_cells, Fx_server_max_request_size)
102         (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
103         (Fx_display_save_under): Fix typos in docstrings.
105 2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
107         * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
108         corresponding to deleted entries; they are an implementation detail.
109         (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
110         Remove variables.
111         (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
112         (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
113         (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
114         (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
115         (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
116         (Fw32_define_rgb_color, Fw32_load_color_file)
117         (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
118         Fix typos in docstrings.
119         (Fx_server_version): Reflow docstring.
120         (Fw32_shell_execute): Doc fixes.
122 2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
124         * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
125         if w32_parse_hot_key returned nil.
127 2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
129         * xdisp.c (load_overlay_strings): Fix copy&paste typo.
131 2007-11-09  Jason Rumney  <jasonr@gnu.org>
133         * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
135         * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
137         * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
138         Remove W32_SCROLL_BAR_CLICK_EVENT.
140         * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
141         Add MULTIMEDIA_KEY_EVENT.
143         * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
144         (lispy_multimedia_keys) [WINDOWSNT]: New array.
145         (make_lispy_event) [WINDOWSNT]: Use it to translate
146         MULTIMEDIA_KEY_EVENT.
148         * w32term.h (WM_APPCOMMAND): Define if not already.
149         (GET_APPCOMMAND_LPARAM): Likewise.
151         * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
152         WM_APPCOMMAND.
154         * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
155         (syms_of_w32fns): Export and initialize it.
156         (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
158 2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
160         * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
161         twice.
163         * xdisp.c (handle_face_prop): Fix last change.
165 2007-11-09  Richard Stallman  <rms@gnu.org>
167         * xdisp.c (handle_face_prop): Test for strings that came from overlays,
168         not just for after-strings and before-strings.
169         Call face_for_overlay_string and pass the overlay to it.
170         (handle_display_prop): Determine whether property came from an overlay.
171         Pass OVERLAY arg to handle_single_display_spec.
172         (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
173         (load_overlay_strings): Fill in it->string_overlays.
174         (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
176         * xfaces.c (face_for_overlay_string): Function renamed from
177         face_at_buffer_position_no_overlays, and add arg OVERLAY.
179         * dispextern.h (struct it): New elt string_overlays.
180         New elt from_overlay, also in stack.
181         Rearrange a few elements.
182         (face_for_overlay_string): Decl renamed from
183         face_at_buffer_position_no_overlays, and add argument.
185 2007-11-09  Richard Stallman  <rms@gnu.org>
187         * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
188         to get the base face for an overlay string.
190         * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
192         * xfaces.c (face_at_buffer_position_no_overlays): New function.
194         * xdisp.c (handle_stop): Move some code out of loop.
196 2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
198         * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
199         Fix conversion from Lisp object to ATSUFontID.
201 2007-11-09  Jason Rumney  <jasonr@gnu.org>
203         * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
205 2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
207         * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
208         Don't assume regions are aligned to page boundary.
209         (print_load_command_name): Add LC_UUID if defined.
211 2007-11-09  Richard Stallman  <rms@gnu.org>
213         * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
215 2007-11-07  Jason Rumney  <jasonr@gnu.org>
217         * s/windows95.h: Remove.
219 2007-11-06  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
221         * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
222         abort with a message on unhandled store_type values.
224 2007-11-01  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
226         * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
227         Remove HAVE_X11R5 and HAVE_X11R4.
229 2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
231         * Makefile.in: Remove references to sunfns.c and sunfns.o.
233 2007-11-01  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
235         * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
236         Don't set s->stippled_p here, since it has already been set by
237         x_set_glyph_string_gc from x_draw_glyph_string.
239 2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
241         * sunfns.c: Remove file
243         * m/sun386.h:
244         * m/sun2.h:
245         * m/sparc.h: Remove Sun windows code.
247 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
249         * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
250         (init_keyboard): Set current_kboard's window-system to nil.
251         (tty_read_avail_input): Typo.
252         * frame.c (make_initial_frame): Don't initialize the initial_kboard.
254 2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
256         * s/usg5-4.h:
257         * s/usg5-3.h:
258         * s/ptx.h:
259         * m/is386.h:
260         * m/ibmps2-aix.h:
261         * Makefile.in: Remove all mentions of X10
263         * dispnew.c (syms_of_display): Don't mention version 10.
265 2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
267         * makefile.w32-in (OBJ1): Remove abbrev.$(O).
268         ($(BLD)/abbrev.$(O)): Remove.
270 2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
272         Rewrite abbrev.c in Elisp.
273         * image.c (Qcount): Don't declare as extern.
274         (syms_of_image): Initialize and staticpro `Qcount'.
275         * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
276         * emacs.c (main): Don't call syms_of_abbrev.
277         * Makefile.in (obj): Remove abbrev.o.
278         (abbrev.o): Remove.
279         * abbrev.c: Remove.
281 2007-10-26  Martin Rudalics  <rudalics@gmx.at>
283         * window.c (window_min_size_2): Don't count header-line.
285 2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
287         * frame.h (struct frame): Move all bit fields after the first bit
288         field to take advantage of the available space.  Group all the
289         chars together to reduce wasted space due to padding.
291 2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
293         * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
295         * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
296         (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
297         (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
298         (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
299         (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
300         (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
301         (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
302         (last_marked, mark_object_loop_halt): Make static.
304         * frame.c (syms_of_frame) <delete-frame-functions>:
305         Fix typo in docstring.
307 2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
309         * w32.c (init_environment): Fix tiny memory leak.
310         (w32_get_resource): Remove unused variable `ok'.
312 2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
314         Make `window-system' into a keyboard-local variable (rather than
315         frame-local as done originally by multi-tty).
317         * keyboard.h (struct kboard): Add Vwindow_system.
318         * keyboard.c (init_kboard): Set a default for Vwindow_system.
319         (mark_kboards): Mark Vwindow_system.
321         * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
322         (init_display): Don't set the obsolete `window-system' frame-param.
324         * xterm.c (x_term_init):
325         * w32term.c (w32_create_terminal):
326         * term.c (init_tty): Set Vwindow_system.
327         * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
328         multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
330         * xfns.c (Fx_create_frame, x_create_tip_frame):
331         * w32fns.c (Fx_create_frame, x_create_tip_frame):
332         * macfns.c (Fx_create_frame):
333         Don't set the obsolete `window-system' frame-param.
335         * frame.h (Qwindow_system): Remove.
336         * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
337         (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
339 2007-10-24  Richard Stallman  <rms@gnu.org>
341         * frame.c (x_figure_window_size): For fullscreen case,
342         set USPosition | PPosition without clobbering rest of window_prompting.
344         * keyboard.c (Fcurrent_idle_time): Doc fix.
346         * print.c (Fwith_output_to_temp_buffer): Doc fix.
348 2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
350         * process.c (unwind_request_sigio): Only define if __ultrix__.
352         * callproc.c (child_setup): Remove spurious *.
354         * lisp.h (Fget_text_property): Declare.
355         (have_menus_p): Declare it here rather than in sys-dep header files.
356         * macterm.h (have_menus_p):
357         * msdos.h (have_menus_p):
358         * xterm.h (have_menus_p): Remove.
360         * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
361         (Fmake_variable_frame_local): Just check the variable's const-ness
362         rather than checking nil or t.
364 2007-10-22  Jason Rumney  <jasonr@gnu.org>
366         * w32fns.c: Include math.h.
367         (w32_abort): Declaration moved to nt/config.nt.
369         * s/ms-w32.h (HAVE_STDLIB_H): Define.
370         (abort): Redefinition moved to nt/config.nt.
372         * m/windowsnt.h: Remove.
374 2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
376         * emacs.c (Fdump_emacs): Fix typo in message.
377         (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
378         <installation-directory>: Reflow docstring.
380 2007-10-22  Juri Linkov  <juri@jurta.org>
382         * minibuf.c: Allow minibuffer default to be a list of default values.
383         With empty input use the first element of this list as returned default.
384         (string_to_object)
385         (read_minibuf_noninteractive): If defalt is cons, set val to its car.
386         (read_minibuf): If defalt is cons, set histstring to its car.
387         (Fread_string): If default_value is cons, set val to its car.
388         (Fread_buffer): If def is cons, use its car.
389         (Fcompleting_read): If defalt is cons, set val to its car.
391 2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
393         * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
395 2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
397         * doc.c (Fdocumentation): Check for advice in all cases.
399 2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
401         * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
403 2007-10-19  Richard Stallman  <rms@gnu.org>
405         * doc.c (Fdocumentation): Check for and handle an advised function.
407 2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
409         * process.c (Fset_process_filter): Doc fix.
411 2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
413         * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
414         which caused key-translation-map to applied repeatedly (thus breaking
415         double-mode).
417 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
419         * xselect.c (x_own_selection, x_handle_selection_clear)
420         (x_clear_frame_selections):
421         * w32menu.c (list_of_panes, list_of_items):
422         * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
423         * textprop.c (validate_plist, interval_has_all_properties)
424         (interval_has_some_properties, interval_has_some_properties_list)
425         (add_properties, text_property_list):
426         * process.c (Fget_buffer_process, list_processes_1, status_notify):
427         * minibuf.c (Fassoc_string):
428         * macselect.c (x_own_selection, x_clear_frame_selections)
429         (Fx_disown_selection_internal):
430         * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
431         Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
433 2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
435         * process.c: Link to libs for calling res_init() if available.
436         (Fmake_network_process): Call res_init() before getaddrinfo or
437         gethostbyname, if possible.
439 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
441         * lread.c (read1): Set pvectype for char_tables.
443         * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
444         (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
445         Add type checks.
446         (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
448         * alloc.c (free_misc): Use XMISCTYPE.
449         (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
451 2007-10-17  Glenn Morris  <rgm@gnu.org>
453         * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
454         (syms_of_minibuf): Add Qcompletion_ignore_case.
455         * dired.c (Qcompletion_ignore_case): Change to external.
456         (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
457         * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
458         (Fread_file_name): Use it rather than intern'ing.
460         * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
461         (Fread_coding_system): Ignore case of user input.
463 2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
465         * xdisp.c (handle_display_prop): Ignore display specs after
466         replacing one when string text is being replaced.
467         (handle_single_display_spec): Pretend as if characters with display
468         property haven't been consumed only when buffer text is being replaced.
470 2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
472         * xfns.c (Fx_create_frame, Fx_display_list):
473         * window.c (window_fixed_size_p, enlarge_window)
474         (shrink_window_lowest_first):
475         * macterm.c (init_font_name_table):
476         * macfns.c (Fx_create_frame, Fx_display_list):
477         * lread.c (close_load_descs):
478         * keyboard.c (read_char_x_menu_prompt):
479         * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
480         * coding.c (code_convert_region_unwind): Test the type of an object
481         rather than just !NILP before extracting data from it.
483         * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
485         * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
486         (XMISCANY): New macro.
487         (XMISCTYPE): Use it.
488         (struct Lisp_Misc_Any): New type.
489         (union Lisp_Misc): Use it.
490         (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
491         * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
492         (find_symbol_value, set_internal, default_value, Fset_default)
493         (Fmake_variable_buffer_local, Fmake_local_variable)
494         (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
495         (Flocal_variable_if_set_p, Fvariable_binding_locus):
496         The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
497         * alloc.c (allocate_buffer): Set the size and tag.
498         (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
499         Use XMISCANY.
500         (die): Follow the GNU convention for error messages.
501         * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
502         * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
503         tag any more.
504         (set_buffer_internal_1):
505         * frame.c (store_frame_param):
506         * eval.c (specbind):
507         * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
509         * doc.c (Fsnarf_documentation): Simplify.
511 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
513         * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
514         (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
516 2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
518         * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
520 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
522         * eval.c (do_autoload): Don't save autoloads.
524         * data.c (Ffset): Save autoload of the function being set.
526 2007-10-07  John Paul Wallington  <jpw@pobox.com>
528         * xfns.c (x_create_tip_frame): Set the `display-type' frame
529         parameter before setting up faces.
531 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
533         * ccl.c (Fregister_code_conversion_map):
534         * keyboard.c (append_tool_bar_item): Reformat last change.
536         * lisp.h (eabs): Rename from `abs'.  All callers changed.
538 2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
540         * buffer.c (add_overlay_mod_hooklist):
541         * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
542         * fontset.c (make_fontset):
543         * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
544         (append_tool_bar_item):
545         * macmenu.c (grow_menu_items):
546         * w32menu.c (grow_menu_items):
547         * xmenu.c (grow_menu_items): Use larger_vector.
549 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
551         * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
552         selected frame'' on MSDOS).
554 2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
556         * macfns.c (x_create_tip_frame): Set terminal for frame.
558 2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
560         * frame.c (Qenvironment): Remove.
561         (syms_of_frame) <Qenvironment>: Don't initialize.
562         (Fdelete_frame): Don't treat the `environment' param specially.
563         * frame.h (Qenvironment): Don't declare.
564         * callproc.c (set_initial_environment): Don't set unused frame param.
566         * frame.c (Fframe_with_environment): Remove.
567         (syms_of_frame) <Sframe_with_environment>: Don't declare.
569         * lisp.h (Fframe_with_environment): Don't declare.
571 2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
573         * indent.c (indent_tabs_mode, last_known_column)
574         (last_known_column_modified): Make static.
575         (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
577 2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
579         * puresize.h (BASE_PURESIZE): Increase to 1170000.
581 2007-10-09  Richard Stallman  <rms@gnu.org>
583         * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
584         return HANDLED_RETURN.
586 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
588         * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
589         when there's an unread command event.
591         * frame.c (focus_follows_mouse): Move here from frame.el to allow
592         window autoselection act appropriately when leaving selected frame.
593         (syms_of_frame): Initialize focus_follows_mouse.
594         * frame.h (focus_follows_mouse): Extern it.
595         * macterm.c (XTread_socket): When focus_follows_mouse is nil
596         make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
597         * msdos.c (dos_rawgetc): Likewise.
598         * w32term.c (w32_read_socket): Likewise.
599         * xterm.c (handle_one_xevent): Likewise.
600         * xdisp.c (syms_of_xdisp): In doc-string of
601         mouse-autoselect-window mention focus-follows-mouse.
603 2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
605         * macterm.c (mac_load_query_font): Fix missing return value.
606         [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
607         Add BLOCK_INPUT.
609 2007-10-08  Richard Stallman  <rms@gnu.org>
611         * xdisp.c (get_window_cursor_type): Implement documented behavior
612         for cursor-in-non-selected-windows = t.
614 2007-10-08  Jason Rumney  <jasonr@gnu.org>
616         * w32.c (w32_get_resource): Always close registry keys.
618 2007-10-08  Jason Rumney  <jasonr@gnu.org>
620         * makefile.w32-in (LIBS): Add COMCTL32.
622         * w32fns.c (globals_of_w32fns): Init common controls.
624 2007-10-08  Richard Stallman  <rms@gnu.org>
626         * image.c (our_memory_buffer): Rename from omfib_buffer.
628 2007-10-08  Richard Stallman  <rms@gnu.org>
630         * buffer.c (Foverlays_at): Doc fix.
632 2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
634         * fns.c (Fplist_put): Preserve uneven tail data.
636 2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
638         * termhooks.h (enum event_kind): Remove trailing comma.
640         * frame.h (enum): Remove trailing comma.
642 2007-10-08  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
644         * w32proc.c (delete_child): Don't terminate threads of zombies.
646 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
648         * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
650         * keyboard.c (syms_of_keyboard): Set up new Lisp variable
651         last-repeatable-command.
652         (init_kboard): Initialize Vlast_repeatable_command.
653         (command_loop_1): Set it to real_this_command unless that was
654         bound to an input event.
655         (mark_kboards): Mark it.
657 2007-10-08  Richard Stallman  <rms@gnu.org>
659         * eval.c (condition-case): Doc fix.
661 2007-10-08  Masatake YAMATO  <jet@gyve.org>
663         * xfaces.c (tty_supports_face_attributes_p): Fix code
664         for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
665         was copied and not edited.
667 2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
669         Add new `input-decode-map' keymap and use it for terminal
670         escape sequences.
671         * keyboard.h (struct kboard): Add Vinput_decode_map.
672         Remove Vlocal_key_translation_map.
673         * keyboard.c (read_key_sequence): Add support for input-decode-map.
674         (init_kboard): Init input-decode-map.
675         Replace local-key-translation-map back with key-translation-map.
676         (syms_of_keyboard): Declare input-decode-map.
677         Remove local-key-translation-map.  Update docstrings.
678         (mark_kboards): Mark Vinput_decode_map.
679         Don't mark Vlocal_key_translation_map.
680         * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
681         Replace local-key-translation-map back with key-translation-map.
682         * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
683         Bind in input-decode-map rather than function-key-map.
685         * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
686         This was made redundant by the previous introduction of XSETPVECTYPE.
688 2007-10-09  Richard Stallman  <rms@gnu.org>
690         * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
692 2007-09-29  Richard Stallman  <rms@gnu.org>
694         * eval.c (internal_condition_case_2, internal_condition_case_1)
695         (internal_condition_case): Reenable abort if x_catching_errors ()
696         to see if that really happens and why.
698 2007-10-06  Andreas Schwab  <schwab@suse.de>
700         * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
702 2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
704         * image.c (syms_of_image) <image-types>: Fix typo in docstring.
706 2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
708         * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
710 2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
712         * window.h (struct window):
713         * window.c (struct save_window_data, struct saved_window):
714         * termhooks.h (struct terminal):
715         * process.h (struct Lisp_Process):
716         * frame.h (struct frame):
717         * buffer.h (struct buffer):
718         * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
719         (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
720         The size field of (pseudo)vectors is now unsigned.
721         (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
723         * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
724         Turn `count' into an integer.
726         * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
727         (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
728         * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
729         * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
730         (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
732         * alloc.c (allocate_pseudovector): New fun.
733         (ALLOCATE_PSEUDOVECTOR): New macro.
734         (allocate_window, allocate_terminal, allocate_frame)
735         (allocate_process): Use it.
736         (mark_vectorlike): New function.
737         (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
738         (mark_terminals): Use it.
739         (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
740         (Fmake_byte_code): Use XSETPVECTYPE.
742         * frame.c (Fframe_parameters): Minor simplification.
744         * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
746         * marker.c (Fmarker_buffer): Make test for odd case into a failure.
748         * buffer.c (Fget_buffer_create, init_buffer_once):
749         * lread.c (defsubr):
750         * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
752         * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
753         defined differently in the m/*.h files.
754         (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
755         (XSETPVECTYPE): New macro.
756         (XSETPSEUDOVECTOR): Use it.
758         * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
759         (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
761         * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
762         * lread.c (defvar_per_buffer):
763         * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
765         * window.c (candidate_window_p): Only consider as visible frames that
766         are on the same terminal.
768         * m/ibms390x.h (MARKBIT): Remove unused macro.
770 2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
772         * lread.c (Fload): Fix typo in docstring.
774 2007-10-01  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
776         * floatfns.c (Fexpt): Manually check for overflows, so that a power
777         of a non-zero value can't yield zero.
779 2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
781         * term.c (term_clear_mouse_face, term_mouse_highlight)
782         (tty_write_glyphs_with_face): Only define is HAVE_GPM.
784         * print.c (safe_debug_print): Use XHASH.
786         * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
787         Lisp elements such as tags.
788         (XHASH): New macro.
789         (EQ): Use it.
790         (SREF, SSET, STRING_COPYIN): Use SDATA.
791         (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
793         * alloc.c (mark_terminal): Remove left-over declaration.
794         (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
795         (allocate_vectorlike): Remove type argument.  Adjust callers.
796         (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
797         Only handle the one remaining MEM_TYPE_VECTORLIKE.
799         * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
800         to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
801         (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
802         (lisp_align_free, make_interval, allocate_string, allocate_string_data)
803         (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
804         Use them.
806         * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
807         Don't let signal handlers run when a GC is freed but not yet NULL'ed.
808         (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
810 2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
812         * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
813         loaded by default.
815 2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
817         * term.c (Fgpm_mouse_start): Don't signal an error if already activated
818         on this tty.
819         (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
821         * term.c (mouse_face_window): Rename from Qmouse_face_window.
822         Update all users.
823         (handle_one_term_event): Use Gpm_DrawPointer.
824         (Fgpm_mouse_start): Rename from Fterm_open_connection.
825         Signal errors instead of returning nil.  Always return nil.
826         (Fgpm_mouse_stop): Rename from Fterm_close_connection.
827         Make it a noop if gpm-mouse was not activated.
828         (syms_of_term): Update names.
830 2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
832         * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
833         (init_sys_modes): Check that gpm_tty is the current tty.
835         * alloc.c (allocate_terminal): Set the vector size to only count the
836         lisp fields.  Initialize those to nil.
837         (mark_object): Don't treat terminals specially.
838         (mark_terminal): Remove.
839         (mark_terminals): Use mark_object instead.
841         * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
842         the GC to the beginning.
844         * indent.h:
845         * indent.c: Use EMACS_INT for ints coming from Elisp data.
847         * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
849 2007-09-25  Jason Rumney  <jasonr@gnu.org>
851         * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
853         * w32console.c (create_w32cons_output): Remove.
855         * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
857         * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
858         (reset_sys_modes): Use reset_terminal_modes_hook.
860 2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
862         * eval.c (do_autoload): Don't output any message.
864 2007-09-24  Juri Linkov  <juri@jurta.org>
866         * emacs.c (standard_args): Change priority of "--no-splash"
867         from 40 to 3.  Add "--no-desktop" with the same priority.
869 2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
871         * alloc.c (gc_sweep): Check cons cell mark bits word by word
872         and optimize the case where they are all 1.
874 2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
876         * lisp.h (abs): Define if not defined.
877         * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
878         Don't define `abs', since it's defined in lisp.h.
880 2007-09-22  Eli Zaretskii  <eliz@gnu.org>
882         * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
883         (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
884         (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
885         (init_tty): Use DEV_TTY instead of "/dev/tty".
886         [WINDOWSNT]: No need to protect from NAME arg being null.
888 2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
890         * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
891         up the tty state.
893 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
895         * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
896         (gpm_tty): Change its type.
897         * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
898         (gpm_tty): Change its type and initialize it.
899         (Fterm_open_connection): Check the frame is indeed a tty.
900         Use the new gpm_tty.
901         (Fterm_close_connection): Use the new gpm_tty.
902         * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
903         * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
905 2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
907         * w32term.c (x_draw_glyph_string): Use strike_through_color, not
908         underline_color, to draw strike-through.
910 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
912         * lisp.h (allocate_terminal): Declare.
914         * window.c (candidate_window_p): Consider frames that are being placed
915         by the user as somewhere between visible and iconified.
916         (window_loop): Prefer windows on the current frame.
917         (Fselect_window): Move the use of select-frame to the beginning so we
918         can just delegate all the work (it'll call us back anyway).
920         * frame.c (Qdisplay_environment_variable):
921         * frame.h (Qdisplay_environment_variable): Delete.
923         * .gdbinit (xbacktrace): Print the arg's address rather than the value
924         of the first arg, since that value may be a union.
926         * callproc.c (child_setup, getenv_internal): Use the frame's `display'
927         parameter rather than Qdisplay_environment_variable.  If all else
928         fails, look for DISPLAY in initial-environment.
930 2007-09-21  Glenn Morris  <rgm@gnu.org>
932         * Makefile.in (emacstool): Remove target.
933         (lisp, shortlisp): Remove termdev.elc.
935 2007-09-21  Markus Triska  <markus.triska@gmx.at>
937         * xterm.c (x_delete_display): Compile session management conditionally.
939 2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
941         * callproc.c (getenv_internal_1): New function.
942         (getenv_internal): Use it.
943         (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
945         * terminal.c (get_terminal): Don't accept ints to represent terminals.
946         (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
947         (Fset_terminal_parameter): Work with dead terminals as well.
948         (Fmodify_terminal_parameters): Remove.
950         * terminal.c (get_terminal): Handle terminals.
951         Make sure the terminal returned is live.
952         (create_terminal): Use allocate_terminal.
953         (mark_terminals): Move to alloc.c.
954         (delete_terminal): Use terminal->name as liveness status.
955         NULL out fields after freeing their contents.
956         Don't deallocate the object.
957         (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
958         rather than an int.
959         (Fterminal_live_p): Accept non-integer arguments.
960         (Fterminal_list): Return terminal objects rather than an ints.
962         * alloc.c (enum mem_type): New member for `terminal' objects.
963         (allocate_terminal): New function.
964         (mark_maybe_pointer, valid_lisp_object_p, mark_object):
965         Handle terminals.
966         (mark_terminal): New fun.
967         (mark_terminals): Move from terminal.c.
969         * term.c (get_tty_terminal): Don't treat output_initial specially.
970         (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
971         (delete_tty): Use terminal->name as liveness status.
973         * termhooks.h (struct terminal): Make it into a pseudovector.
974         Remove `deleted' replaced by checking `name's nullness.
976         * print.c (print_object): Handle terminals.
978         * lisp.h (enum pvec_type): New `terminal' pseudovector.
979         (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
981         * frame.c (make_terminal_frame):
982         * keyboard.c (tty_read_avail_input):
983         * w32term.c (x_delete_terminal):
984         * xfns.c (Fx_create_frame, x_create_tip_frame):
985         * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
987 2007-09-20  Glenn Morris  <rgm@gnu.org>
989         * process.c (Fmake_network_process): Doc fix.
991 2007-09-19  Jason Rumney  <jasonr@gnu.org>
993         * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
995 2007-09-19  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
997         * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
998         Fix a C warning regarding variable constness.
1000         * xterm.c (handle_one_xevent): Fix a C warning.
1002 2007-09-18  Jason Rumney  <jasonr@gnu.org>
1004         * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
1006 2007-09-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1008         * gtkutil.c (gdpy_def): New variable.
1009         (xg_initialize): Initialize gdpy_def.
1010         (xg_display_close): If no other display exists, set gdpy_def to a
1011         new connection.
1013 2007-09-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1015         * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
1016         when we have no file name for the icon.
1017         (xg_tool_bar_expose_callback): Remove.
1018         (xg_create_tool_bar): Don't connect expose signal to
1019         xg_tool_bar_expose_callback.
1020         (xg_get_file_with_chooser): Move GCPRO1 after declarations.
1022 2007-09-16  Andreas Schwab  <schwab@suse.de>
1024         * alloc.c (reset_malloc_hooks): Set the hooks to the previous
1025         values instead of zapping them.
1027 2007-09-14  Glenn Morris  <rgm@gnu.org>
1029         * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
1030         * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
1031         * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
1032         scope and rename to omfib_buffer for clarity.
1033         (gif_load) <interlace_start, interlace_increment>: Move to file scope.
1035 2007-09-14  Kenichi Handa  <handa@m17n.org>
1037         * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
1039 2007-09-13  Jason Rumney  <jasonr@gnu.org>
1041         * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
1043         * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
1045         * macterm.c (mac_initialize): Don't call mac_init_fringe here.
1046         (mac_term_init): Call here instead, passing rif.
1048 2007-09-13  Glenn Morris  <rgm@gnu.org>
1050         * s/hpux.h: No longer define `static' as nothing.
1052 2007-09-13  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
1054         * callint.c (Fcall_interactively): Remove unused var `fun'.
1056 2007-09-12  Romain Francoise  <romain@orebokech.com>
1058         * window.c (prefer_window_split_horizontally, display_buffer):
1059         Revert 2007-09-08 change.
1061 2007-09-12  Glenn Morris  <rgm@gnu.org>
1063         * alloca.c: Remove file.
1064         * Makefile.in (alloca): Do not undef.
1065         (allocaobj, alloca.o): Remove.
1066         (otherobj): Remove allocaobj.
1067         * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
1068         * regex.c (C_ALLOCA): Remove all references and code that was only
1069         used when this was defined.
1070         * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
1071         * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
1072         * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
1074         * Makefile.in (SOURCES, unlock, relock): Delete.
1076         * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
1077         (menu_grab_callback): All uses changed.
1079         * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
1080         (x_reply_selection_request): All uses changed.
1082 2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1084         * lread.c (load_warn_old_style_backquotes): Change message to look
1085         better when it appears in the middle of byte-compiler messages.
1087 2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
1089         * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
1091         * xterm.c (x_create_terminal): Add comment.
1093         * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
1095 2007-09-10  Richard Stallman  <rms@gnu.org>
1097         * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
1099 2007-09-10  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
1101         * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
1102         (DEFUN): Document `intspec', use it instead of `prompt'.
1104         * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
1106         * data.c (Finteractive_form): If the interactive specification starts
1107         with a `(', use it as a Lisp form.
1109         * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
1110         name and file modes.
1112         * callint.c (Fcall_interactively): Comment fixes.
1114 2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1116         * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
1117         and compiled functions.
1119 2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
1121         * window.c (prefer_window_split_horizontally): New variable.
1122         (display_buffer): Consider splitting window horizontally depending
1123         on prefer_window_split_horizontally.
1125 2007-09-08  Eli Zaretskii  <eliz@gnu.org>
1127         * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
1129 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1131         * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
1133         * frame.c (x_set_frame_parameters): Check number is positive before
1134         using XFASTINT.
1136         * window.c (freeze_window_start): Don't presume selected_window holds
1137         a window object.
1138         (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
1140 2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
1142         * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
1144 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1146         * window.c (Vsplit_window_preferred_function): New var.
1147         (Fdisplay_buffer): Use it.
1148         (syms_of_window): Export, and initialize it.
1150 2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
1152         * image.c (gif_load): Fix bug: Handle nonexistent colormap.
1154 2007-09-06  Glenn Morris  <rgm@gnu.org>
1156         * gtkutil.c (menu_grab_callback) <cnt>:
1157         * xselect.c (x_reply_selection_request) <cnt>: Move static
1158         variable to file scope.
1160 2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1162         * xdisp.c (redisplay_internal): Make sure Elisp code always sees
1163         consistent values of selected_frame and selected_window.
1165 2007-09-04  Jason Rumney  <jasonr@gnu.org>
1167         * w32console.c (initialize_w32_display): Zero unused hooks.
1169 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
1171         * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
1172         (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
1174 2007-09-04  Jason Rumney  <jasonr@gnu.org>
1176         * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
1177         in w32console.c.  Set up input.  Remove XXX comments that have been
1178         confirmed as correct.
1180         * s/ms-w32.h (MULTI_KBOARD): Define.
1182         * w32console.c (one_and_only_w32cons): Remove.
1183         (initialize_w32_display): Take terminal argument.
1185         * term.c (init_tty) [WINDOWSNT]: Pass terminal to
1186         initialize_w32_display.
1187         (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
1189         * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
1191         * keyboard.c (discard_mouse_events): Discard it.
1192         (make_lispy_event): Translate it to a lisp event.
1193         (lispy_wheel_names): Add wheel-left and right events.
1194         (syms_of_keyboard): Enlarge wheel_syms.
1196         * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
1197         <WM_MOUSEHWHEEL>: Pass new system message to lisp.
1199         * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
1201         * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
1202         from WM_MOUSEHWHEEL.
1203         (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
1205         * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
1206         terminal.
1208         * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
1209         keyboard for the terminal.
1211 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
1213         * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
1214         (Vresume_tty_hook): Rename from Vresume_tty_functions.
1215         (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
1216         and resume-tty-function to resume-tty-hook.
1217         (Fsuspend_tty, Fresume_tty): Use new names.
1219 2007-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1221         * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
1222         if it starts with "n:".
1224 2007-08-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1226         * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
1228 2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
1230         * frame.h:
1231         * frame.c (Qterm_environment_variable): Remove.
1232         (syms_of_frame): Don't init and staticpro it.
1234         * callproc.c (getenv_internal): Remove special case for $TERM.
1236         * callproc.c (Vinitial_environment): New variable.
1237         (set_initial_environment): Initialize it.
1238         (syms_of_callproc): Declare it.
1239         (child_setup): Don't mess with TERM via Qterm_environment_variable; the
1240         TERM under which a process runs is never related to the TERM in which
1241         Emacs is running.
1243 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
1245         * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
1246         * s/darwin.h: ... do it here.
1248 2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
1250         * lisp.h (set_initial_environment): Rename from set_global_environment.
1252         * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
1253         removed by mistake on the multi-tty branch.
1255         * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
1256         (Fmodify_frame_parameters): Return a value.
1258         * image.c (png_load): Comment-out var only used in commented-out code.
1260         * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
1261         before passing it to mark_object.
1263         * xfaces.c (internal_resolve_face_name): Return a value.
1264         (internal_resolve_face_name, resolve_face_name_error): Comment out.
1266         * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
1267         (x_icon): Comment-out var only used in commented-out code.
1269 2007-08-29  Romain Francoise  <romain@orebokech.com>
1271         * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
1272         QUIT hasn't been provided.
1274 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
1276         * callproc.c (child_setup, getenv_internal): Use the
1277         display-environment-variable and term-environment-variable frame
1278         params.
1279         (set_initial_environment): Initialise Vprocess_environment.
1281         * config.in: Disable multi-keyboard support on a mac.
1283         * frame.c (Qterm_environment_variable)
1284         (Qdisplay_environment_variable): New variables.
1285         (syms_of_frame): Intern and staticpro them.
1286         (Fmake_terminal_frame): Disable output method test.
1288         * frame.h: Declare them here.
1290         * macfns.c (x_set_mouse_color): Get rif from the frame.
1291         (x_set_tool_bar_lines): Don't use updating_frame.
1292         (mac_window): Add 2 new parameters for consistency with other systems.
1293         (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
1294         frame parameters following what is done in X11 and w32.  Don't use
1295         FRAME_MAC_DISPLAY_INFO.
1296         (Fx_open_connection, start_hourglass): Remove window-system check.
1297         (x_create_tip_frame): Get the keyboard from the terminal.
1299         * macmenu.c: Reorder includes.
1300         (Fx_popup_menu): Use terminal specific mouse_position_hook.
1302         * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
1303         terminal parameter.
1304         (x_clear_frame): Add a frame parameter.
1305         (note_mouse_movement): Get rif from the frame.
1306         (mac_term_init): Initialize the terminal.
1307         (mac_initialize): Make static and move terminal initialization ...
1308         (mac_create_terminal): ... to this new function.
1310         * macterm.h (struct mac_display_info): Add terminal.
1311         (mac_initialize): Delete declaration.
1313         * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
1315         * sysdep.c: Comment out text after #endif.
1317         * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
1318         is defined.  Better initialize ttys in windows.  Use terminal
1319         specific mouse_position_hook.
1321         * termhooks.h (union display_info): Add mac_display_info.
1323         * w32fns.c (Fx_create_frame): Use kboard from the terminal.
1324         Set the default minibuffer frame, window_system and the rest of the
1325         frame parameters following what is done in X11.
1327         * w32term.c (w32_initialize): Make static.
1329         * xselect.c (x_handle_selection_clear): Only access
1330         terminal->kboard when MULTI_KBOARD is defined.
1332         * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
1333         (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
1335 2007-08-29  Jason Rumney  <jasonr@gnu.org>
1337         * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
1338         (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
1340         * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
1341         (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
1343         * keyboard.c (restore_kboard_configuration): Only define when
1344         MULTI_KBOARD defined.
1346         * makefile.w32-in: Update dependancies from Makefile.in.
1347         (OBJ1): Add terminal.$(O)
1349         * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
1350         Don't define function body.
1351         (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
1353         * termhooks.h (display_info) [WINDOWSNT]: Add w32.
1355         * w32.c (request_sigio, unrequest_sigio): Remove.
1357         * w32console.c (w32con_move_cursor, w32con_clear_to_end)
1358         (w32con_clear_frame, w32con_clear_end_of_line)
1359         (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
1360         (w32con_delete_glyphs, w32con_set_terminal_window)
1361         (scroll_line, w32_sys_ring_bell): Add frame arg.
1362         (w32con_set_terminal_modes, w32con_reset_terminal_modes):
1363         Add terminal arg.
1364         (PICK_FRAME): Remove.
1365         (w32con_write_glyphs): Use frame specific terminal coding.
1366         (one_and_only_w32cons): New global variable.
1367         (initialize_w32_display): Use it for storing hooks.
1368         (create_w32cons_output): New function.
1370         * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
1371         arg a frame.
1373         * w32fns.c (x_create_tip_frame): Set terminal and ref count.
1374         Set window_system.
1375         (x_set_tool_bar_lines): Don't use updating_frame.
1376         (Fx_create_frame): Set terminal and ref count.
1377         (Fx_open_connection): Remove window-system check.
1379         * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
1381         * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
1382         (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
1383         (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
1384         Add frame arg.
1385         (x_delete_terminal, w32_create_terminal): New functions.
1386         (w32_term_init): Create a terminal.
1387         (w32_initialize): Move terminal specific initialization to
1388         w32_create_terminal.
1390         * w32term.h (x_output): Remove foreground_pixel and background_pixel.
1391         (w32_clear_rect, w32_clear_area): Use background from frame.
1392         (w32_display_info): Add terminal.
1393         (w32_sys_ring_bell, x_delete_display): Declare here.
1395         * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
1397         * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
1399 2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
1401         * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
1402         Fix get_named_tty calls for the controlling tty.
1404 2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
1406         * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
1408 2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
1410         * term.c (tty_insert_glyphs): Add missing first parameter.
1412 2007-08-29  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <karoly@lorentey.hu>
1414         * buffer.c (Fbuffer_list, Fbury_buffer):
1415         Take frame->buried_buffer_list into account.
1417         * cm.c (current_tty): New variable, for cmputc().
1418         (cmputc): Use it.
1419         (cmcheckmagic): Add tty parameter, look up terminal streams there.
1420         (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
1421         (cmgoto): Add tty parameter.  Pass it on to calccost().
1422         Use emacs_tputs() instead of tputs().
1424         * cm.h (emacs_tputs): New macro to set current_tty, and then call
1425         tputs().
1426         (current_tty): New variable, for cmputc().
1427         (cmcheckmagic, cmputc, cmgoto): Add prototypes.
1429         * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
1430         (internal_condition_case, internal_condition_case_1)
1431         (internal_condition_case_2): Don't abort when x_catching_errors.
1433         * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
1434         (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
1435         prevent crashes caused by bogus longjmps in read_char.
1437         * keymap.h (Fset_keymap_parent): Add EXFUN.
1439         * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
1440         * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1441         Remove redundant definition.
1443         * macfns.c (x_set_mouse_color, x_make_gc):
1444         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1446         * w32term.c (x_free_frame_resources):
1447         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1448         (w32_initialize): Use the accessor macros for terminal characteristics.
1450         * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
1451         Use the accessor macros for terminal characteristics.
1452         * msdos.c (internal_terminal_init): Use the accessor macros for
1453         terminal characteristics.
1454         (ScreenVisualBell, internal_terminal_init):
1455         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1457         * termopts.h (no_redraw_on_reenter): Declare.
1459         * alloc.c (emacs_blocked_malloc): Disable mallopt call.
1460         (mark_terminals, mark_ttys): Declare.
1461         (Fgarbage_collect): Call them.
1462         (mark_object): Mark buried_buffer_list.
1464         * prefix-args.c: Include stdlib.h for exit.
1466         * syssignal.h: Add comment.
1468         * indent.c: Include stdio.h.
1470         * window.h (Vinitial_window_system): Declare.
1471         (Vwindow_system): Delete declaration.
1473         * fontset.c (Finternal_char_font): Use FRAME_RIF.
1475         * image.c (lookup_image): Don't initialize `c' until the xasserts
1476         have been run.
1478         * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
1479         FRAME_FOREGROUND_PIXEL.
1481         * print.c (print_preprocess): Don't lose print_depth levels while
1482         iterating.
1484         * widget.c (update_from_various_frame_slots):
1485         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1487         * window.c (set_window_buffer): Don't call clear_mouse_face on tty
1488         frames.
1489         (window_internal_height): Remove bogus make_number call.
1490         (init_window_once): Call make_terminal_frame with two zero parameters.
1492         * fileio.c (Fread_file_name): Update comment.
1494         * callint.c (Fcall_interactively):
1495         Use temporarily_switch_to_single_kboard instead of single_kboard_state.
1496         Make sure it is correctly unwound.
1498         * xsmfns.c (x_session_close): New function.
1500         * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
1501         Delete declarations.
1503         * xterm.h: Remove declaration for x_fully_uncatch_errors.
1504         (x_output): Remove background_pixel and foreground_pixel fields.
1505         (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
1506         (x_delete_device):
1507         (x_session_close): Declare.
1509         * lread.c: Include setjmp.h.  Update declaration of `read_char'.
1510         (read_filtered_event): Call `read_char' with a local
1511         `wrong_kboard_jmpbuf'.
1513         * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
1514         Don't call single_kboard_state.  Use FRAME_RIF.
1516         * process.c (Fmake_network_process): Don't unrequest_sigio on modern
1517         systems.
1519         * lisp.h (set_process_environment): Rename to `set_global_environment'.
1520         (Fframe_with_environment, Fset_input_meta_mode)
1521         (Fset_quit_char): EXFUN.
1522         (x_create_device, tty_output, terminal, tty_display_info): Declare.
1523         (init_sys_modes, reset_sys_modes): Update prototypes.
1524         (init_all_sys_modes, reset_all_sys_modes): New prototypes.
1526         * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
1527         Vlocal_key_translation_map, and Vkeyboard_translate_table.
1528         (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
1529         Delete declarations.
1530         (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
1531         (temporarily_switch_to_single_kboard, tty_read_avail_input):
1532         New declarations.
1534         * emacs.c (main): Don't call init_sys_modes(), the new term_init()
1535         already does that during init_display().  Call syms_of_keymap
1536         before syms_of_keyboard.  Call `syms_of_terminal'.
1537         Call set_initial_environment, not set_process_environment.
1538         (shut_down_emacs): Call reset_all_sys_modes() instead of
1539         reset_sys_modes().
1541         * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
1542         (internal_resolve_face_name, resolve_face_name_error): New functions.
1543         (resolve_face_name): Protect against loops and errors thrown by Fget.
1544         (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
1545         (Ftty_supports_face_attributes_p): Update tty_capable_p call.
1547         * scroll.c: Replace CURTTY() with local variables throughout the
1548         file (where applicable).
1549         (calculate_scrolling, calculate_direct_scrolling)
1550         (scrolling_1, scroll_cost): Use the accessor macros for terminal
1551         characteristics.
1553         * keymap.c (Vfunction_key_map): Remove.
1554         (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
1555         (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
1556         (Vkey_translation_map): Remove.
1557         (syms_of_keymap): Remove DEFVAR for key-translation-map.
1558         (Fdescribe_buffer_bindings):
1559         (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
1560         Update for terminal-local key-translation-map.
1562         * Makefile.in (callproc.o): Update dependencies.
1563         (lisp, shortlisp): Add termdev.elc.
1564         (obj): Add terminal.o.
1565         (terminal.o): Add dependencies.
1566         [HAVE_CARBON]: Make terminal.o depend on macgui.h.
1567         (data.o, fns.o): Add termhooks.h dependency.
1568         (SOME_MACHINE_LISP): Add dnd.elc.
1569         (minibuf.o): Fix typo.
1570         Update dependencies.
1572         * data.c (do_symval_forwarding, store_symval_forwarding)
1573         (find_symbol_value): Use the selected frame's keyboard, not
1574         current_kboard.
1576         * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
1577         Vwindow_system.
1579         * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
1580         Fmenu_bar_open.
1581         (syms_of_xmenu): Update defsubr.
1582         (mouse_position_for_popup, Fx_popup_menu)
1583         (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
1584         (set_frame_menubar, free_frame_menubar)
1585         (create_and_show_popup_menu, xmenu_show, )
1586         (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
1587         an X frame.
1589         * xselect.c (x_own_selection): Abort if not an X frame.
1590         (some_frame_on_display): Check if it is an X frame.
1591         (x_handle_selection_clear): Deal with MULTI_KBOARD.
1593         * coding.c: Include frame.h and termhooks.h.
1594         (terminal_coding, keyboard_coding): Delete.
1595         (Fset_terminal_coding_system_internal):
1596         (Fset_keyboard_coding_system_internal):
1597         (Fkeyboard_coding_system):
1598         (Fterminal_coding_system): Add a terminal parameter.
1599         Get terminal_coding from the terminal.
1600         (init_coding_once): Don't call setup_coding_system here.
1602         * dispextern.h (set_scroll_region, turn_off_insert)
1603         (turn_off_highlight, background_highlight, clear_end_of_line_raw)
1604         (tty_clear_end_of_line, tty_setup_colors)
1605         (delete_tty, updating_frame)
1606         (produce_special_glyphs, produce_glyphs, write_glyphs)
1607         (insert_glyphs): Remove.
1608         (raw_cursor_to, clear_to_end, tty_turn_off_insert)
1609         (tty_turn_off_highlight, get_tty_size): Add declaration.
1610         (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
1612         * frame.h (enum output_method): Add output_initial.
1613         (struct x_output): Delete.
1614         (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1615         Access foreground_pixel and background_pixel directly from the frame.
1616         (tty_display): Delete.
1617         (struct frame): Add buried_buffer_list, foreground_pixel,
1618         background_pixel and terminal.  Delete kboard
1619         (union output_data): Add tty.
1620         (FRAME_KBOARD): Get the kboard from the terminal.
1621         (FRAME_INITIAL_P): New macro.
1622         (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
1623         (Qterm_environment_variable, Qdisplay_environment_variable)
1624         (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
1625         New declarations.
1627         * termchar.h (tty_output, tty_display_info): New structures.
1628         (tty_list): Declare.
1629         (FRAME_TTY, CURTTY): New macros.
1630         (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
1631         (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
1632         (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
1633         (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
1635         * callproc.c: Include frame.h and termhooks.h, for terminal
1636         parameters.
1637         (add_env): New function.
1638         (child_setup): Use it.
1639         (child_setup, getenv_internal): Handle the new Vprocess_environment.
1640         (getenv_internal): Fix get_terminal_param call.
1641         (Fgetenv_internal, egetenv): Update doc.
1642         (syms_of_callproc): Initialize Vprocess_environment to nil.
1643         Register and initialize them.  Remove obsolete defvars.  Update doc
1644         strings.
1645         (child_setup): Handle Vlocal_environment_variables.
1646         (getenv_internal): Add terminal parameter.
1647         Handle Vlocal_environment_variables.
1648         (Fgetenv_internal): Add terminal parameter.
1649         (child_setup, getenv_internal, Fgetenv_internal): Store the local
1650         environment in a frame (not terminal) parameter.  Update doc strings.
1651         (set_initial_environment): Rename from set_global_environment.
1652         Store Emacs environment in initial frame parameter.
1654         * xdisp.c (redisplay_internal): Update references to
1655         `previous_terminal_frame'.
1656         (display_mode_line, Fformat_mode_line): Replace calls to
1657         `push_frame_kboard' with `push_kboard'.
1658         (get_glyph_string_clip_rects): Add extra parentheses and
1659         braces to prevent compiler warnings.
1660         (calc_pixel_width_or_height): Add xassert to check that the
1661         frame is alive.  Don't call `lookup_image' on a termcap frame.
1662         (message2_nolog, message3_nolog, redisplay_internal)
1663         (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
1664         (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
1665         (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
1666         (Fx_display_pixel_width, Fx_display_pixel_height)
1667         (Fx_display_planes, Fx_display_color_cells)
1668         (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
1669         (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
1670         (Fx_display_backing_store, Fx_display_visual_class)
1671         (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
1672         Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
1674         * xfns.c (x_set_foreground_color x_set_background_color)
1675         (x_set_mouse_color, x_set_cursor_color, x_make_gc):
1676         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1677         (Fx_create_frame, x_create_tip_frame, build_string, x_window)
1678         (Fx_create_frame, x_create_tip_frame): Don't create frames on a
1679         terminal that is being deleted.
1680         (Fx_create_frame): Use `store_frame_param' to set `window-system'
1681         frame parameter, and make sure it overrides any user-supplied setting.
1682         (Fx_close_connection, Fx_synchronize): Unify argument names with
1683         the rest of the DEFUNs.
1685         * dispnew.c (Fsend_string_to_terminal): Update call to
1686         `get_tty_terminal'.
1687         (Fredraw_frame, Fsend_string_to_terminal)
1688         (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
1689         FRAME_TERMCAP_P and FRAME_TTY.
1690         (window_change_signal): Don't believe width/height values that are
1691         impossibly small.
1692         (Vinitial_window_system): Rename from Vwindow_system.
1693         (termscript, Wcm, rif): Delete.
1695         * termhooks.h (struct terminal): New struct containing the
1696         previously global text display hooks and new members NAME,
1697         DELETED and PARAM_ALIST.
1698         (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
1699         (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
1700         (FRAME_RIF): New macros.
1701         (get_terminal_param, get_device): New declarations.
1702         (termscript): Delete declaration.
1704         * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
1705         (XTflash, x_free_frame_resources, x_scroll_bar_create)
1706         (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
1707         FRAME_FOREGROUND_PIXEL.
1708         (x_fully_uncatch_errors): Disable definition.
1709         (x_scroll_bar_expose): Fix reference to foreground pixel.
1710         (XTread_socket): Disable loop on all X displays.
1711         (x_delete_terminal): Don't set terminal->deleted and let
1712         delete_terminal delete the frames on the terminal.
1713         (x_delete_display): Doc update to reflect changes in
1714         delete_terminal.
1715         (x_display_info) <terminal>: Move member earlier in the struct.
1716         (deleting_tty): Remove old variable.
1717         (Fsuspend_tty): Call clear_tty_hooks.
1718         (Fresume_tty, init_tty): Call set_tty_hooks.
1719         (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
1720         errors on X frames.
1721         (x_catch_errors_unwind): Abort if x_error_message is NULL.
1722         (handle_one_xevent): Initialize `f' to NULL.
1723         (x_delete_terminal, x_create_terminal): New functions.
1724         (XTset_terminal_modes, XTreset_terminal_modes)
1725         (XTread_socket, x_connection_closed, x_term_init)
1726         (x_term_init, x_delete_display): Add terminal parameter.
1727         (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
1728         X connections.
1730         * frame.c (Fframep): Deal with output_initial.
1731         (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
1732         (Qtty_type, Qwindow_system, Qenvironment)
1733         (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
1734         (x_set_screen_gamma, store_frame_param): Fix compilation errors.
1735         (make_terminal_frame): Don't create frames on a terminal that is
1736         being deleted.
1737         (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
1738         FRAME_FOREGROUND_PIXEL.
1739         (store_frame_param): Check for found_for_frame before calling XFRAME.
1740         (Fmake_terminal_frame): Handle NULL tty names correctly.
1741         (syms_of_frame): Enhance doc string of `default-frame-alist'.
1742         (Fdelete_frame): Remove unused variable `count'.
1743         (Qenvironment): New variable.
1744         (Fdelete_frame): Don't allow other frames to refer to a deleted
1745         frame in their 'environment parameter.
1746         (Fframe_with_environment): New function.
1747         (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
1748         (get_future_frame_param): New function.
1749         (Fmake_terminal_frame): Use it.
1750         (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
1752         * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
1753         * sysdep.c (reset_sys_modes): Update for renames.
1755         * keyboard.c (tty_read_avail_input): New function.
1756         (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
1757         (syms_of_keyboard): Defsubr them.
1758         (Fset_input_meta_mode, Fset_quit_char): New functions.
1759         (Fset_input_mode): Split to above functions.
1761         (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
1762         parameter.  Use it in call to `read_char'.
1763         (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
1764         Set wrong_kboard_jmpbuf correctly in recursive calls.
1765         Use current_kboard to access Vkeyboard_translate_table.
1766         Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
1767         Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
1768         Update longjmp invocations.  Remember the original current_kboard,
1769         and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
1770         changes it.  Comment out unnecessary calls to
1771         `record_single_kboard_state' and `any_kboard_state'.
1772         Update recursive calls.
1773         (wrong_kboard_jmpbuf): Remove global variable.
1774         (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
1775         Handle deleted interrupted_kboards correctly; that is a legal
1776         case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
1777         and read_char calls.  Abort if interrupted_kboard died in read_char.
1778         (any_kboard_state, single_kboard_state)
1779         (push_frame_kboard): Remove function.
1780         (pop_kboard): Switch out of single_kboard mode if the kboard has
1781         been deleted.  Remove unused variable.  Help debugging by not
1782         changing current_kboard unnecessarily.  Set current_kboard to the
1783         kboard of the selected frame when the stored kboard object has
1784         been deleted before pop_kboard.
1785         (temporarily_switch_to_single_kboard): Change first parameter to a
1786         frame pointer.  Throw an error when caller wants to change kboards
1787         while in single_kboard mode.  Don't push_kboard if we weren't in
1788         single kboard state.  Don't pop_kboard if we popped into any
1789         kboard state.
1790         (restore_kboard_configuration): Abort if pop_kboard changed the
1791         kboard in single_kboard mode.  Call pop_kboard only after setting
1792         up single_kboard mode.
1793         (Frecursive_edit): Switch to single_kboard mode only in nested
1794         command loops.
1795         (cmd_error, command_loop, command_loop_1, timer_check):
1796         Comment out unnecessary call to `any_kboard_state' and
1797         `record_single_kboard_state'.
1798         (delete_kboard): Exit single_kboard mode if we have just deleted
1799         that kboard.  Use FRAME_KBOARD.
1800         (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
1801         `fatal_error_signal'.
1802         (record_single_kboard_state): Don't push_kboard if we weren't in
1803         single kboard state.  Don't pop_kboard if we popped into any
1804         kboard state.
1805         (push_frame_kboard): Rename to push_kboard.
1806         (kbd_buffer_get_event): Use FRAME_TERMINAL.
1807         (read_avail_input): Read input from all terminals.
1808         (mark_kboards): Also mark Vkeyboard_translate_table.
1809         (kbd_buffer_store_event_hold): Simplify condition.
1810         (read_key_sequence): Reinitialize fkey and keytran at each replay.
1811         (Vkeyboard_translate_table): Move to struct kboard.
1812         (init_kboard): Initialize Vkeyboard_translate_table.
1813         (syms_of_keyboard): Use DEFVAR_KBOARD to define
1814         Vkeyboard_translate_table.  Update doc strings.  Update docs of
1815         local-function-key-map and function-key-map.
1817         * terminal.c: New file.
1819         * term.c: Include errno.h.
1820         (Vring_bell_function, device_list, initial_device)
1821         (next_device_id, ring_bell, update_begin, update_end)
1822         (set_terminal_window, cursor_to, raw_cursor_to)
1823         (clear_to_end, clear_frame, clear_end_of_line)
1824         (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
1825         (Fdisplay_name, create_device, delete_device): Move to terminal.c.
1826         (syms_of_term): Move their initialization to terminal.c.
1827         (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
1828         (Ftty_display_color_cells)
1829         (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
1830         (clear_tty_hooks, set_tty_hooks)
1831         (init_tty, maybe_fatal): New functions.
1832         (Ftty_type): Return nil if terminal is not on a tty instead of
1833         throwing an error.  Doc update.
1834         (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
1835         Doc update.  Initialize new subrs and variables.
1836         (delete_tty): Use terminal->deleted.
1837         (tty_set_terminal_modes): Rename from set_terminal_modes.
1838         (tty_reset_terminal_modes): Rename from reset_terminal_modes.
1839         (set_scroll_region): Rename to `tty_set_scroll_region'.
1840         (turn_on_insert): Rename to `tty_turn_on_insert'.
1841         (turn_off_insert): Rename to `tty_turn_off_insert'.
1842         (turn_off_highlight): Rename to `tty_turn_off_highlight'.
1843         (turn_on_highlight): Rename to `tty_turn_on_highlight'.
1844         (toggle_highligh): Rename to `tty_toggle_highlight'.
1845         (background_highlight): Rename to `tty_background_highlight'.
1846         (highlight_if_desired): Rename to `tty_highlight_if_desired'.
1847         (tty_ring_bell, tty_update_end, tty_set_terminal_window)
1848         (tty_set_scroll_region, tty_background_highlight)
1849         (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
1850         (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
1851         (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
1852         (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
1853         Add static modifier.
1854         (tty_reset_terminal_modes, tty_set_terminal_window)
1855         (tty_set_scroll_region, tty_background_highlight)
1856         (tty_highlight_if_desired, tty_cursor_to)
1857         (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
1858         (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
1859         (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
1860         renames.
1862 2007-08-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1864         * keyboard.c: Qrtl is new.
1865         (parse_tool_bar_item): Handle :rtl keyword.
1866         (syms_of_keyboard): Intern :rtl keyword.
1868         * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
1870         * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
1871         so no Lisp code is executed.
1872         (file_for_image, find_rtl_image): New functions.
1873         (xg_get_image_for_pixmap): Use file_for_image
1874         (update_frame_tool_bar): If direction is RTL, use RTL image if
1875         defined.  Use Gtk stock images if defined.
1877 2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1879         * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
1880         for nonexistent or zero-width glyph in composition glyph.
1882 2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1884         * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
1886         * xdisp.c (Finvisible_p): New function.
1887         (syms_of_xdisp): defsubr it.
1889 2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
1891         * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
1892         Doc fixes.
1894 2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1896         * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
1898 2007-08-24  Martin Rudalics  <rudalics@gmx.at>
1900         * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
1901         whether decoding has modified buffer contents.
1903 2007-08-24  Jason Rumney  <jasonr@gnu.org>
1905         * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
1906         (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
1907         (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
1908         (init_svg_functions) [HAVE_NTGUI]: New function.
1909         (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
1910         (svg_load_image): Use them.
1911         (svg_load_image) [HAVE_NTGUI]: Implement background.
1913 2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1915         * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
1916         (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
1917         (LIBX): Remove @RSVG_LIBS@.
1918         (LIBES): Add $(RSVG_LIBS).
1920         * image.c (svg_load_image): Blend with specified background if exists.
1921         Use IMAGE_BACKGROUND.  Add Mac OS Support.
1923         * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
1924         (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
1925         Remove macros.
1926         [MAC_OSX] (socket_callback): Do nothing.
1927         [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
1928         ReceiveNextEvent.
1929         [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
1930         socket_callback.
1931         (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
1933 2007-08-22  Glenn Morris  <rgm@gnu.org>
1935         * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
1937 2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
1939         * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
1941         * image.c: Add support for SVG images.  Some additional comments
1942         by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
1943         (svg_image_p): New function to test for SVG image.
1944         (svg_load): New function to load SVG image.
1945         (svg_load_image): New function, helper for svg_load.
1946         (Qsvg): New Lisp_object.
1947         (svg_keyword_index): New enum.
1948         (svg_format): New static `image_keyword' struct.
1949         (svg_type): New static `image_type' struct.
1950         (librsvg/rsvg.h): Include it.
1952 2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1954         * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
1956 2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1958         * lread.c (Qold_style_backquotes): New var.
1959         (syms_of_lread): Init and staticpro it.
1960         (load_warn_old_style_backquotes): New fun.
1961         (Fload): Use them to warn about old style backquotes.
1962         (end_of_file_error, Fload): Remove unused vars.
1964         * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
1966         * lread.c (Vold_style_backquotes): New var.
1967         (syms_of_lread): Init and export it to Elisp.
1968         (read1): Set it when we find an old-style (back)quote.
1970 2007-08-22  Jason Rumney  <jasonr@gnu.org>
1972         * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
1974 2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
1976         * puresize.h (BASE_PURESIZE): Increase to 1140000.
1978 2007-08-19  Richard Stallman  <rms@gnu.org>
1980         * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
1982 2007-08-19  Andreas Schwab  <schwab@suse.de>
1984         * alloc.c (pure): Round PURESIZE up.
1986 2007-08-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1988         * xterm.c (handle_one_xevent): Remove check that mouse click is in
1989         active frame.
1991 2007-08-16  Richard Stallman  <rms@gnu.org>
1993         * eval.c (Fcommandp): Add parens to clarify.
1995         * minibuf.c (Fall_completions): Use enum for type of table.
1997         * emacs.c (USAGE2): Improve text.
1999 2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
2001         * term.c (tty_default_color_capabilities): Declare static
2002         variables in file scope, to avoid HPUX compiler problem.
2004 2007-08-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2006         * gtkutil.c (update_frame_tool_bar): Use -1 as index
2007         to gtk_toolbar_insert.
2009 2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2011         * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
2013         * insdel.c (reset_var_on_error): New fun.
2014         (signal_before_change, signal_after_change):
2015         Use it to reset (after|before)-change-functions to nil in case of error.
2016         Bind inhibit-modification-hooks to t.
2017         Don't bind (after|before)-change-functions to nil while they run.
2019 2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2021         * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
2022         filling pixmap with stippled background.
2024 2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2026         * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
2027         Don't use invisible frame as parent window for repositioning.
2029 2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2031         * print.c (new_backquote_output): Rename from old_backquote_output.
2032         (print): Inverse its logic (according to its name) so as to match the
2033         behavior of new_backquote_flag in lread.c.
2035 2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2037         * gmalloc.c (posix_memalign): New function.
2039         * macterm.c (frame_highlight, frame_unhighlight): Don't call
2040         ActivateControl/DeactivateControl here.
2041         [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
2042         frame-notice-user-settings is non-nil.
2043         [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
2044         for kEventParamFMFontStyle.
2045         [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
2046         mac_pass_command_to_system and mac_pass_control_to_system here.
2047         (XTread_socket): Call ActivateControl/DeactivateControl here.
2048         (XTread_socket) [TARGET_API_MAC_CARBON]:
2049         Check mac_pass_command_to_system and mac_pass_control_to_system here.
2050         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
2051         for window repositioning.
2053 2007-08-08  Glenn Morris  <rgm@gnu.org>
2055         * Replace `iff' in doc-strings and comments.
2057 2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
2059         * xdisp.c (move_it_by_lines): Remove incorrect optimization.
2061 2007-08-07  Martin Rudalics  <rudalics@gmx.at>
2063         * fileio.c (Finsert_file_contents): Run format-decode and
2064         after_insert_file_functions on entire buffer when REPLACE is
2065         non-nil and inhibit modification_hooks and point_motion_hooks.
2066         For consistency, run after_insert_file_functions iff something
2067         got inserted.  Move signal_after_change and update_compositions
2068         after code running after_insert_file_functions.  Make sure that
2069         undo_list doesn't record intermediate steps of the decoding process.
2071 2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2073         * emacs.c (main)
2074         [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
2075         Call malloc_enable_thread on interactive startup.
2077         * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
2078         (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
2079         [USE_PTHREAD]: Conditionalize with it.
2080         (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
2081         (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
2082         New functions.
2084 2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
2086         * xdisp.c (redisplay_window): When restoring original buffer
2087         position, make sure it is still valid.
2089         * image.c (png_load): Ignore png-supplied background color.
2091 2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2093         * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
2094         Use kCFAbsoluteTimeIntervalSince1970.
2096         * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
2097         New variable.
2098         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
2099         event loop should be quit.
2100         [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
2101         Quit dialog event loop if quit_dialog_event_loop is set.
2103         * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
2104         (Selection): New typedef.  Use instead of ScrapRef.
2105         (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
2106         (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
2107         (mac_clear_selection): Rename from clear_scrap.
2108         (get_flavor_type_from_symbol): New argument SEL and subsume function of
2109         scrap_has_target_type.  All uses changed.
2110         (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2111         (mac_selection_has_target_p): New functions.
2112         (mac_put_selection_value): Rename from put_scrap_string.
2113         (mac_get_selection_value): Rename from get_scrap_string.
2114         (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
2115         (put_scrap_private_timestamp, scrap_has_target_type)
2116         (get_scrap_private_timestamp): Remove functions.
2117         (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
2118         (x_own_selection, x_get_local_selection):
2119         Use mac_valid_selection_value_p.
2120         (x_own_selection): Don't use put_scrap_private_timestamp.
2121         Record OWNERSHIP-INFO into Vselection_alist instead.
2122         (x_get_local_selection): Don't check type if request is local.
2123         (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
2124         Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
2126 2007-08-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2128         * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
2129         add comment explaining why.
2131 2007-08-03  Richard Stallman  <rms@gnu.org>
2133         * fileio.c (Fvisited_file_modtime): Use make_time.
2135 2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
2137         * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
2138         build.
2140 2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
2142         * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
2144 2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
2146         * puresize.h (BASE_PURESIZE): Increase to 1130000.
2148 2007-07-30  Richard Stallman  <rms@gnu.org>
2150         * lread.c (readevalloop, read1): Treat NBSP as whitespace.
2152 2007-07-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2154         * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
2156 2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
2158         * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
2159         remote default-directory.
2161         * buffer.c (mode-line-format): Update doc string.
2163 2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2165         * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
2166         scroll bar gap.
2167         (x_scroll_bar_create): Set bar->fringe_extended_p.
2168         (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
2169         on frame edge.  Check fringe background extension.  Don't clear
2170         extended fringe background area.
2172         * w32term.h (struct scroll_bar): New member fringe_extended_p.
2173         (w32_fill_area): Enclose multiple statements with do ... while (0).
2175         * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
2176         Extend fringe background to scroll bar gap.
2177         (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
2178         Set bar->fringe_extended_p.
2179         (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
2180         Put leftmost/rightmost scroll bars on frame edge.  Check fringe
2181         background extension.  Don't clear extended fringe background area.
2183         * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
2184         New member fringe_extended_p.
2186 2007-07-25  Glenn Morris  <rgm@gnu.org>
2188         * Relicense all FSF files to GPLv3 or later.
2190         * COPYING: Switch to GPLv3.
2192 2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2194         * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
2196         * data.c (Finteractive_form): Check for the presence of an
2197         `interactive-form' symbol property more thoroughly.
2199         * data.c (Finteractive_form): Use an `interactive-form' property if
2200         present, analogous to the function-documentation property.
2202 2007-07-24  Jason Rumney  <jasonr@gnu.org>
2204         * w32fns.c (x_real_positions): Get real position from OS instead of
2205         calculating it.
2207 2007-07-23  Jason Rumney  <jasonr@gnu.org>
2209         * filelock.c (current_lock_owner): Allow for @ sign in username.
2211 2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
2213         * xdisp.c (decode_mode_spec): Add case 'R' for to test for
2214         remote default-directory.
2216         * buffer.c (mode-line-format): Describe above case in doc string.
2218 2007-07-20  Eli Zaretskii  <eliz@gnu.org>
2220         * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
2221         Define if not defined.
2223 2007-07-18  Jason Rumney  <jasonr@gnu.org>
2225         * w32proc.c (w32_executable_type): Handle 64 bit executables.
2227 2007-07-18  Richard Stallman  <rms@gnu.org>
2229         * data.c (Fsetq_default): Doc fix.
2231         * eval.c (Fsetq): Doc fix.
2233 2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
2235         * coding.c (Ffind_operation_coding_system):
2236         * eval.c (For, Fand): Doc fixes.
2237         Reported by Johan Bockg\e,Ae\e(Brd.
2239 2007-07-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2241         * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
2243         * xterm.h: Declare x_ewmh_activate_frame.
2245         * xterm.c (x_ewmh_activate_frame): New function.
2246         (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
2248 2007-07-17  Martin Rudalics  <rudalics@gmx.at>
2250         * window.c (Fdisplay_buffer): If largest or LRU window is the
2251         only window, split it even if it is not eligible for splitting.
2252         This restores the original behavior broken by the 2007-07-15
2253         change.
2255 2007-07-17  Glenn Morris  <rgm@gnu.org>
2257         * abbrev.c (abbrev_check_chars): New function.
2258         (Fdefine_global_abbrev, Fdefine_mode_abbrev):
2259         Call abbrev_check_chars to check abbrev characters are word
2260         constituents.  Doc fix.
2262 2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2264         * process.c (Fstart_process, Fmake_network_process)
2265         (read_process_output): Fix up last changes.
2267 2007-07-16  Eli Zaretskii  <eliz@gnu.org>
2269         * makefile.w32-in (clean): Don't delete *~.
2271 2007-07-16  Andreas Schwab  <schwab@suse.de>
2273         * window.c (Fdisplay_buffer): Use NILP.
2274         (Fset_window_scroll_bars): Likewise.
2276 2007-07-15  Martin Rudalics  <rudalics@gmx.at>
2278         * window.c (window_min_size_2): New function.
2279         (window_min_size_1, size_window, Fdisplay_buffer)
2280         (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
2281         windows without mode- or header-lines when window-min-height is
2282         too small.
2283         (size_window): Reset nodelete_p after testing it, following an
2284         earlier note by Kim F. Storm.
2285         (display_buffer): Do not set split_height_threshold to twice the
2286         value of window_min_height to avoid changing the value of a
2287         customizable variable.  Rather explicitly check whether the
2288         height of the window that shall be splitted is at least as large
2289         as split_height_threshold.
2290         (Fwindow_full_width_p): New defun.
2291         (syms_of_window): Defsubr it.
2293         * window.h: Add EXFUN for Fwindow_full_width_p.
2295 2007-07-14  Jason Rumney  <jasonr@gnu.org>
2297         * process.c [WINDOWSNT]: Don't undefine AF_INET6.
2299 2007-07-14  Richard Stallman  <rms@gnu.org>
2301         * eval.c (maybe_call_debugger): New function.
2302         (find_handler_clause): Use maybe_call_debugger.
2303         Call it when the handler says `debug'.
2304         Eliminate DEBUGGER_VALUE_PTR.
2305         (Fsignal): Eliminate debugger_value.
2306         (Qdebug): New variable.
2307         (syms_of_eval): Initialize it.
2309 2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
2311         * eval.c (Fprogn):
2312         * keyboard.c (Ftrack_mouse):
2313         * print.c (Fwith_output_to_temp_buffer):
2314         * window.c (Fsave_window_excursion): Doc fix.
2316 2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2318         * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
2320 2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2322         * process.h (struct Lisp_Process): Turn slots infd, outfd,
2323         kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
2324         inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
2325         read_output_delay, and read_output_skip from Lisp_Objects to ints.
2326         Remove unused encoding_carryover.
2327         * process.c: Adjust all functions accordingly.
2329 2007-07-12  Richard Stallman  <rms@gnu.org>
2331         * term.c: Include unistd.h only if HAVE_UNISTD_H.
2333 2007-07-11  Jason Rumney  <jasonr@gnu.org>
2335         * makefile.w32-in (LIBS): Include OLE32.
2337         * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
2338         (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
2340 2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2342         * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
2343         * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
2344         from a Lisp_Object into a bare pointer.
2345         (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
2346         Adjust the code correspondingly.
2348         * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
2350         * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
2351         (term_show_mouse_face): Remove unused var `j'.
2352         (handle_one_term_event): Remove unused vars `i' and `j'.
2353         Don't cast return value of ttyname since it's not necessary.
2355 2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2357         * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
2358         USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
2360         * fns.c (map_char_table): Use an array of int for `indices' rather than
2361         an array of Lisp_Objects (which are only ever integers anyway).
2362         (Fmap_char_table): Update caller.
2363         * lisp.h: Update prototype.
2364         * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
2365         * fontset.c (Ffontset_info):
2366         * casetab.c (set_case_table): Update callers.
2368         * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
2370         * keymap.c (struct accessible_keymaps_data)
2371         (struct where_is_internal_data): New structures.
2372         (accessible_keymaps_1, where_is_internal_1): Use them to change
2373         interface to adhere to the one used by map_keymap.
2374         (Faccessible_keymaps, where_is_internal): Use map_keymap.
2375         (accessible_keymaps_char_table, where_is_internal_2): Remove.
2377         * keymap.h (map_keymap_function_t): More informative prototype.
2379 2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
2381         * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
2382         (looking_at_1): Don't change search_regs and last_thing_searched
2383         if `inhibit-changing-match-data' is non-nil.
2384         (string_match_1, search_buffer, set_search_regs): Likewise.
2385         (syms_of_search): Add Lisp level definition for
2386         `inhibit-changing-match-data' and set it to nil.
2387         (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
2388         start and end of the match, instead of using values in search_regs.
2390 2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2392         * minibuf.c (Fcompleting_read): New value `confirm-only'
2393         for `require-match'.
2395 2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
2397         * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
2398         part of the 2007-06-27 change to syms_of_fileio.
2400 2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2402         * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
2403         Check WINDOWP before using XWINDOW.  Consolidate return statements.
2405 2007-06-27  Richard Stallman  <rms@gnu.org>
2407         * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
2409 2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
2411         * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
2413 2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2415         * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
2416         (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
2417         (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
2418         (_free_internal, memalign): Use them.
2419         (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
2420         Initialize to PTHREAD_MUTEX_INITIALIZER.
2421         (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
2422         (morecore_nolock): Rename from morecore.  All uses changed.
2423         Use only nolock versions of internal allocation functions.
2424         (_malloc_internal_nolock, _realloc_internal_nolock)
2425         (_free_internal_nolock): New functions created from
2426         _malloc_internal, _realloc_internal, and _free_internal.
2427         (_malloc_internal, _realloc_internal, _free_internal): Use them.
2428         Copy hook value to automatic variable before its use.
2429         (memalign): Copy hook value to automatic variable before its use.
2431 2007-06-26  Kenichi Handa  <handa@m17n.org>
2433         * coding.c (Ffind_operation_coding_system): Docstring improved.
2434         (syms_of_coding): Docstring of `file-coding-system-alist' improved.
2436 2007-06-25  David Kastrup  <dak@gnu.org>
2438         * keymap.c (Fcurrent_active_maps): Add `position' argument.
2439         (Fwhere_is_internal): Adjust call to `current-active-maps' to
2440         cater for additional parameter.
2442         * keymap.h: Adjust number of parameters to `current-active-maps'.
2444         * doc.c (Fsubstitute_command_keys): Adjust call of
2445         `current-active-maps'.
2447 2007-06-25  David Kastrup  <dak@gnu.org>
2449         * callint.c (Fcall_interactively): Make the parsing of interactive
2450         specs somewhat more readable.
2452 2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2454         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
2455         to scroll bar gap also when bitmap fills fringe.  Draw only foreground
2456         if extended background has already been filled.
2458 2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2460         * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
2461         (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
2463         * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
2464         Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
2465         in #if 0 as it is not compatible with y-or-n-p-with-timeout.
2466         (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
2467         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
2468         instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
2469         (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
2470         [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
2471         Run timers during dialog popup.
2472         (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
2474 2007-06-21  Jason Rumney  <jasonr@gnu.org>
2476         * image.c (convert_mono_to_color_image): Swap fore and background.
2478 2007-06-20  Jason Rumney  <jasonr@gnu.org>
2480         * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
2481         (w32_free_bdf_font): Unmap memory not handle.
2483 2007-06-20  Sam Steingold  <sds@gnu.org>
2485         * gmalloc.c (__morecore): Fix the declaration to comply with the
2486         definition.
2488 2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
2490         * w32term.c (w32_delete_display): Remove leftover declaration.
2491         (w32_define_cursor, w32_initialize): Make static.
2493         * w32.c (_wsa_errlist): Fix typo in error message.
2494         (init_environment): Ignore any environment variable from the
2495         registry having a null value.
2497 2007-06-20  Glenn Morris  <rgm@gnu.org>
2499         * Makefile.in (LIBGIF): Default to -lgif.
2501 2007-06-17  Jason Rumney  <jasonr@gnu.org>
2503         * w32menu.c (add_menu_item): Don't use multibyte string functions on
2504         unicode strings.
2506 2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
2508         * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
2509         Fix typo in docstring.
2511 2007-06-16  Eli Zaretskii  <eliz@gnu.org>
2513         * w32menu.c (add_menu_item): Escape `&' characters in menu items
2514         and their keybindings.
2516 2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
2518         * composite.c (update_compositions): Fix last fix.
2520 2007-06-14  Jason Rumney  <jasonr@gnu.org>
2522         * w32.c (get_process_times_fn): New function pointer.
2523         (globals_of_w32): Intialize it if present in kernel32.dll.
2524         (w32_get_internal_run_time): New function.
2526         * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
2528 2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
2530         * composite.c (update_compositions): Check the validness of
2531         compositions.
2533 2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2535         * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
2536         (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
2538         * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
2539         (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
2541         * macgui.h (USE_MAC_TOOLBAR): New define.
2543         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2544         Return immediately unless popup is activated.
2546         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
2547         background to scroll bar gap.
2548         (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
2549         (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
2550         scroll bars on frame edge.  Check fringe background extension.
2551         Don't clear extended fringe background area.
2552         (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
2553         (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
2554         (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
2555         [USE_MAC_TOOLBAR]: New macros.
2556         (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
2557         (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
2558         (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
2559         (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
2560         [USE_MAC_TOOLBAR]: New functions.
2561         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
2562         manually if previous repositioning has failed.
2563         (mac_handle_keyboard_event): Use precomputed event kind.
2564         (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
2565         as tool bar item click.  Handle mouse movement over tool bar items.
2567         * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
2568         toolbar_win_gravity.
2569         (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
2570         (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
2571         Add externs.
2573         * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
2574         [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
2576 2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
2578         * image.c (search_image_cache): Remove unused variable.
2580 2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
2582         * xfns.c, xmenu.c: Link to xaw3d if available.
2584 2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2586         * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
2587         frame_foreground and frame_background.
2589         * image.c (lookup_image): Save frame foreground and background colors.
2590         (search_image_cache): Check if saved and current frame colors match.
2592 2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2594         * regex.c (regex_compile): Remove the `regnum' counter.
2595         Use bufp->re_nsub instead.  Add support for \(?N:RE\).
2597 2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2599         * term.c: Include intervals.h to declare Fget_text_property.
2601 2007-06-10  Jason Rumney  <jasonr@gnu.org>
2603         * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
2605 2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
2607         * callint.c (Fcall_interactively):
2608         * editfns.c (Fdelete_and_extract_region):
2609         * fileio.c (Fread_file_name):
2610         * fns.c (Fmapconcat):
2611         * keyboard.c (cmd_error_internal):
2612         * keymap.c (Fkey_description):
2613         * lread.c (openp):
2614         * minibuf.c (read_minibuf):
2615         * search.c (wordify):
2616         * sunfns.c (sel_read):
2617         * xdisp.c (Fformat_mode_line, syms_of_xdisp):
2618         * xfns.c (x_default_scroll_bar_color_parameter):
2619         * xmenu.c (menu_help_callback):
2620         * xselect.c (Fx_get_atom_name):
2621         * xterm.c (x_term_init): Use empty_unibyte_string.
2623 2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
2625         * alloc.c (init_strings): Initialize canonical empty strings.
2626         (make_uninit_string, make_uninit_multibyte_string): Return appropriate
2627         canonical empty string when the requested size is 0.
2629         * emacs.c (empty_unibyte_string): Rename from empty_string.
2630         (empty_multibyte_string): New canonical empty string.
2631         (syms_of_emacs): Don't initialize empty_string.
2633         * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
2634         string, if appropriate.
2635         (empty_unibyte_string, empty_multibyte_string): New externs.
2636         (empty_string): Remove extern.
2638         * lread.c (syms_of_lread): Use empty_unibyte_string.
2640 2007-06-07  Jason Rumney  <jasonr@gnu.org>
2642         * s/ms-w32.h: Don't define HAVE_TZNAME.
2644         * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
2646 2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2648         * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
2650         * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
2651         (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
2653         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2654         Don't call next handler.
2655         [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
2656         Remove argument.  Install handler to application.
2657         (set_frame_menubar): Don't change deep_p.
2658         (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
2659         FRAME_OUTER_TO_INNER_DIFF_Y.
2660         (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2661         (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2662         [HAVE_DIALOGS]: New macros.
2663         [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
2664         Use them.
2665         (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
2667         * macselect.c [MAC_OSX] (install_service_handler): Rename from
2668         init_service_handler.  All callers changed.  Return OSStatus value.
2670         * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
2671         All callers changed so as not to call SetPortWindowPort.
2672         (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
2673         (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
2674         mac_draw_string_common.
2675         (mac_draw_image_string_qd): Likewise.
2676         (mac_draw_string_common): Use them.  Add INLINE.
2677         (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
2678         Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
2679         GetGlobalMouse.
2680         (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
2681         and FRAME_OUTER_TO_INNER_DIFF_Y.
2682         [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
2683         [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
2684         (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
2685         repositioning window to mac_handle_window_event.
2686         (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
2687         saving window location to mac_handle_window_event
2688         [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
2689         (install_menu_target_item_handler): Remove argument in extern.
2690         [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
2691         Also accept command events.
2692         (do_keystroke): New function created from XTread_socket.
2693         (init_command_handler): Remove functions.
2694         [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
2695         and save window location by kEventWindowShowing and kEventWindowHiding
2696         handlers here.  Don't call next handler for window state change and
2697         focus events.
2698         (mac_handle_application_event, mac_handle_keyboard_event)
2699         [TARGET_API_MAC_CARBON]: New functions.
2700         (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
2701         kEventWindowShowing and kEventWindowHiding events.  Move installation
2702         of mouse, font, text input and menu target item handlers to
2703         install_application_handler.
2704         (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
2705         (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2706         New function.
2707         (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2708         Register it.
2709         (XTread_socket) [TARGET_API_MAC_CARBON]:
2710         Consolidate SendEventToEventTarget calls.
2711         Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
2712         Move application activation handler to mac_handle_application_event.
2713         Move keyboard handler to mac_handle_keyboard_event.
2714         (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
2715         (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
2716         init_command_handler.  Call install_application_handler.
2718         * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
2719         (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
2721 2007-06-07  Glenn Morris  <rgm@gnu.org>
2723         * emacs.c (main): Use `emacs-copyright' in --version output.
2725 2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
2727         * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
2729 2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2731         * macfns.c (mac_window): Replace WindowPtr with WindowRef.
2733         * macgui.h: Replace WindowPtr with WindowRef.
2735         * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2736         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2737         Replace ControlHandle with ControlRef.
2738         (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
2740         * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2741         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2742         Replace ControlHandle with ControlRef.
2743         (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
2744         [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
2746         * macterm.h (struct scroll_bar): Rename member control_handle_low
2747         and control_handle_high to control_ref_low and control_ref_high.
2748         All uses changed.
2749         (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
2750         SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
2751         respectively.  All uses changed.
2752         (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
2753         (install_window_handler, remove_window_handler): Replace WindowPtr
2754         with WindowRef in externs.
2756 2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
2758         * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
2760 2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
2762         * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
2764         * frame.c (Fmouse_position, Fmouse_pixel_position):
2765         Condition on HAVE_GPM too.
2767         * term.c (term_mouse_highlight): Remove unused variables.
2768         (Fterm_open_connection): Set gpm_zerobased to 1.
2769         (term_mouse_movement, term_mouse_click, handle_one_term_event):
2770         Use zero based co-ordinates.
2771         (handle_one_term_event): Report a drag as mouse movement too.
2773         * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
2775 2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
2777         * image.c (search_image_cache): New function.  Require background
2778         color match if background color is unspecified in the image spec.
2779         (uncache_image, lookup_image): Use it.
2781 2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
2783         * window.c (Fshrink_window): Reflow docstring.
2785 2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
2787         * Version 22.1 released.
2789 2007-06-01  Richard Stallman  <rms@gnu.org>
2791         * xfns.c (x_encode_text): Add GCPRO.
2793 2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2795         * xfns.c (x_set_name_internal): Save encoded name before
2796         x_encode_text in case string data is relocated.
2798 2007-05-31  Richard Stallman  <rms@gnu.org>
2800         * buffer.c (syms_of_buffer): Doc fix.
2802 2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
2804         * sysdep.c (init_sys_modes): Add rather than replace with
2805         O_NONBLOCK.
2807         * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
2808         term_mouse_moveto.
2810         * termhooks.h (term_mouse_moveto): New extern.
2812         * term.c (mouse_face_window): Rename...
2813         (Qmouse_face_window): ...to this.
2814         (term_show_mouse_face, term_clear_mouse_face)
2815         (term_mouse_highlight): Use Qmouse_face_window.
2816         (term_mouse_moveto): New function.
2817         (term_mouse_position): Make it work.
2818         (syms_of_term): Uncomment assignment to mouse_position_hook.
2819         Staticpro Qmouse_face_window.
2821 2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2823         * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
2824         around current_column call.
2826 2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
2828         * xfaces.c (syms_of_xfaces): Delete stray semicolon.
2829         * xdisp.c (next_element_from_buffer):
2830         * window.c (delete_window):
2831         * term.c (term_mouse_highlight):
2832         * msdos.c (getdefdir):
2833         * macterm.c (mac_create_bitmap_from_bitmap_data)
2834         (init_font_name_table):
2835         * fns.c (Fsxhash):
2836         * data.c (Fmake_local_variable):
2837         * ccl.c (ccl_driver): Likewise.
2839 2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2841         * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
2842         Call mac_wakeup_from_rne on window size change.
2844 2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
2846         * image.c (uncache_image): Fix typo.
2848 2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
2850         * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
2852 2007-05-22  Richard Stallman  <rms@gnu.org>
2854         * xterm.c (x_connection_closed): Remove NO_RETURN.
2856 2007-05-22  Martin Rudalics  <rudalics@gmx.at>
2858         * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
2860 2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
2862         * image.c (uncache_image): New function.
2863         (Fimage_refresh): New function.
2865 2007-05-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2867         * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
2869 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2871         * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
2872         * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
2874 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2876         * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
2877         conditional on [HAVE_GPM_H].
2879 2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2881         * syntax.c (skip_chars): Update syntax-table only after we checked that
2882         the new location is valid.
2884 2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2886         * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
2887         mac_get_window_bounds.
2889 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2891         * Makefile.in (LIBGPM): Allow it to be set from configure.
2892         If set then link Emacs with it.
2894         * config.in: Regenerate.
2896         * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
2897         New externs.
2899         * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
2900         Include gpm.h.
2901         (handle_one_term_event, term_gpm): New externs.
2903         * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
2904         and allow it to be interrupted by SIGIO.
2906         * process.c (gpm_wait_mask, max_gpm_desc): New variables.
2907         (wait_reading_process_output): Wait on gpm_fd too.
2908         (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
2909         (add_gpm_wait_descriptor_called_flag): New variable.
2910         (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
2912         * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
2913         (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
2914         (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
2915         Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
2916         (make_lispy_event): Add case GPM_CLICK_EVENT.
2917         (read_avail_input): Handle mouse input.
2919         * term.c (write_glyphs_with_face): New function.
2920         [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
2921         (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
2922         (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
2923         (mouse_face_face_id, term_gpm, pos_x, pos_y)
2924         (last_mouse_x, last_mouse_y): New variables.
2925         (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
2926         (term_mouse_highlight, term_mouse_movement, term_mouse_position)
2927         (term_mouse_click, handle_one_term_event, Fterm_open_connection)
2928         (Fterm_close_connection): New functions.
2929         (term_init): Initialise mouse_face_window.
2931 2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
2933         * xdisp.c (redisplay_window): If first window line is a
2934         continuation line, recompute the new window start instead of
2935         recentering.
2937 2007-05-18  Glenn Morris  <rgm@gnu.org>
2939         * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
2940         Suggested by Alfred M. Szmidt <ams@gnu.org>.
2942 2007-05-17  Glenn Morris  <rgm@gnu.org>
2944         * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
2946 2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2948         * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
2949         dead key repeat and up events.
2951 2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
2953         * image.c (pbm_load): Check image size for monochrome pbm.
2955 2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
2957         * xterm.c (XTread_socket): Revert last change.
2959 2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
2961         * image.c (pbm_load): Correctly check image size for greyscale pbm.
2963         * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
2965 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2967         * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
2968         mixup (YAILOM).
2970 2007-05-07  Andreas Schwab  <schwab@suse.de>
2972         * keymap.c (Flookup_key): Fix typo in last change.
2974 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2976         * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
2977         mapping for unibyte strings.
2979 2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2981         * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
2982         (Fx_popup_dialog) [MAC_OSX]: Likewise.
2984 2007-04-29  Richard Stallman  <rms@gnu.org>
2986         * insdel.c (replace_range): For undo, record insertion first.
2988 2007-04-29  Andreas Schwab  <schwab@suse.de>
2990         * lisp.h (VECSIZE): Use OFFSETOF.
2992 2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2994         * xdisp.c (try_window_reusing_current_matrix): Fix number of
2995         disabled lines.
2997 2007-04-28  Richard Stallman  <rms@gnu.org>
2999         * lread.c (read_escape): In a string, \s is always space.
3001 2007-04-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
3003         * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
3005         * gtkutil.c (xg_update_menubar, create_menus): Create empty
3006         submenu for menu bar items.
3008 See ChangeLog.10 for earlier changes.
3010 ;; Local Variables:
3011 ;; coding: iso-2022-7bit
3012 ;; add-log-time-zone-rule: t
3013 ;; End:
3015     Copyright (C) 2007 Free Software Foundation, Inc.
3017   This file is part of GNU Emacs.
3019   GNU Emacs is free software; you can redistribute it and/or modify
3020   it under the terms of the GNU General Public License as published by
3021   the Free Software Foundation; either version 3, or (at your option)
3022   any later version.
3024   GNU Emacs is distributed in the hope that it will be useful,
3025   but WITHOUT ANY WARRANTY; without even the implied warranty of
3026   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3027   GNU General Public License for more details.
3029   You should have received a copy of the GNU General Public License
3030   along with GNU Emacs; see the file COPYING.  If not, write to the
3031   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
3032   Boston, MA 02110-1301, USA.
3034 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40