Add arch tagline
[emacs.git] / src / ChangeLog
blob79b6a3497d5c6d3090c7d90611996865bb3de5b9
1 2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
3         * makefile.w32-in (OBJ1): Remove abbrev.$(O).
4         ($(BLD)/abbrev.$(O)): Remove.
6 2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8         Rewrite abbrev.c in Elisp.
9         * image.c (Qcount): Don't declare as extern.
10         (syms_of_image): Initialize and staticpro `Qcount'.
11         * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12         * emacs.c (main): Don't call syms_of_abbrev.
13         * Makefile.in (obj): Remove abbrev.o.
14         (abbrev.o): Remove.
15         * abbrev.c: Remove.
17 2007-10-26  Martin Rudalics  <rudalics@gmx.at>
19         * window.c (window_min_size_2): Don't count header-line.
21 2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
23         * frame.h (struct frame): Move all bit fields after the first bit
24         field to take advantage of the available space.  Group all the
25         chars together to reduce wasted space due to padding.
27 2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
29         * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
31         * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
32         (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
33         (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
34         (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
35         (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
36         (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
37         (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
38         (last_marked, mark_object_loop_halt): Make static.
40         * frame.c (syms_of_frame) <delete-frame-functions>:
41         Fix typo in docstring.
43 2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
45         * w32.c (init_environment): Fix tiny memory leak.
46         (w32_get_resource): Remove unused variable `ok'.
48 2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
50         Make `window-system' into a keyboard-local variable (rather than
51         frame-local as done originally by multi-tty).
53         * keyboard.h (struct kboard): Add Vwindow_system.
54         * keyboard.c (init_kboard): Set a default for Vwindow_system.
55         (mark_kboards): Mark Vwindow_system.
57         * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
58         (init_display): Don't set the obsolete `window-system' frame-param.
60         * xterm.c (x_term_init):
61         * w32term.c (w32_create_terminal):
62         * term.c (init_tty): Set Vwindow_system.
63         * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
64         multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
66         * xfns.c (Fx_create_frame, x_create_tip_frame):
67         * w32fns.c (Fx_create_frame, x_create_tip_frame):
68         * macfns.c (Fx_create_frame):
69         Don't set the obsolete `window-system' frame-param.
71         * frame.h (Qwindow_system): Remove.
72         * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
73         (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
75 2007-10-24  Richard Stallman  <rms@gnu.org>
77         * frame.c (x_figure_window_size): For fullscreen case,
78         set USPosition | PPosition without clobbering rest of window_prompting.
80         * keyboard.c (Fcurrent_idle_time): Doc fix.
82         * print.c (Fwith_output_to_temp_buffer): Doc fix.
84 2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
86         * process.c (unwind_request_sigio): Only define if __ultrix__.
88         * callproc.c (child_setup): Remove spurious *.
90         * lisp.h (Fget_text_property): Declare.
91         (have_menus_p): Declare it here rather than in sys-dep header files.
92         * macterm.h (have_menus_p):
93         * msdos.h (have_menus_p):
94         * xterm.h (have_menus_p): Remove.
96         * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
97         (Fmake_variable_frame_local): Just check the variable's const-ness
98         rather than checking nil or t.
100 2007-10-22  Jason Rumney  <jasonr@gnu.org>
102         * w32fns.c: Include math.h.
103         (w32_abort): Declaration moved to nt/config.nt.
105         * s/ms-w32.h (HAVE_STDLIB_H): Define.
106         (abort): Redefinition moved to nt/config.nt.
108         * m/windowsnt.h: Remove.
110 2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
112         * emacs.c (Fdump_emacs): Fix typo in message.
113         (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
114         <installation-directory>: Reflow docstring.
116 2007-10-22  Juri Linkov  <juri@jurta.org>
118         * minibuf.c: Allow minibuffer default to be a list of default values.
119         With empty input use the first element of this list as returned default.
120         (string_to_object)
121         (read_minibuf_noninteractive): If defalt is cons, set val to its car.
122         (read_minibuf): If defalt is cons, set histstring to its car.
123         (Fread_string): If default_value is cons, set val to its car.
124         (Fread_buffer): If def is cons, use its car.
125         (Fcompleting_read): If defalt is cons, set val to its car.
127 2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
129         * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
131 2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
133         * doc.c (Fdocumentation): Check for advice in all cases.
135 2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
137         * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
139 2007-10-19  Richard Stallman  <rms@gnu.org>
141         * doc.c (Fdocumentation): Check for and handle an advised function.
143 2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
145         * process.c (Fset_process_filter): Doc fix.
147 2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
149         * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
150         which caused key-translation-map to applied repeatedly (thus breaking
151         double-mode).
153 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
155         * xselect.c (x_own_selection, x_handle_selection_clear)
156         (x_clear_frame_selections):
157         * w32menu.c (list_of_panes, list_of_items):
158         * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
159         * textprop.c (validate_plist, interval_has_all_properties)
160         (interval_has_some_properties, interval_has_some_properties_list)
161         (add_properties, text_property_list):
162         * process.c (Fget_buffer_process, list_processes_1, status_notify):
163         * minibuf.c (Fassoc_string):
164         * macselect.c (x_own_selection, x_clear_frame_selections)
165         (Fx_disown_selection_internal):
166         * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
167         Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
169 2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
171         * process.c: Link to libs for calling res_init() if available.
172         (Fmake_network_process): Call res_init() before getaddrinfo or
173         gethostbyname, if possible.
175 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
177         * lread.c (read1): Set pvectype for char_tables.
179         * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
180         (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
181         Add type checks.
182         (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
184         * alloc.c (free_misc): Use XMISCTYPE.
185         (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
187 2007-10-17  Glenn Morris  <rgm@gnu.org>
189         * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
190         (syms_of_minibuf): Add Qcompletion_ignore_case.
191         * dired.c (Qcompletion_ignore_case): Change to external.
192         (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
193         * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
194         (Fread_file_name): Use it rather than intern'ing.
196         * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
197         (Fread_coding_system): Ignore case of user input.
199 2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
201         * xdisp.c (handle_display_prop): Ignore display specs after
202         replacing one when string text is being replaced.
203         (handle_single_display_spec): Pretend as if characters with display
204         property haven't been consumed only when buffer text is being replaced.
206 2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
208         * xfns.c (Fx_create_frame, Fx_display_list):
209         * window.c (window_fixed_size_p, enlarge_window)
210         (shrink_window_lowest_first):
211         * macterm.c (init_font_name_table):
212         * macfns.c (Fx_create_frame, Fx_display_list):
213         * lread.c (close_load_descs):
214         * keyboard.c (read_char_x_menu_prompt):
215         * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
216         * coding.c (code_convert_region_unwind): Test the type of an object
217         rather than just !NILP before extracting data from it.
219         * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
221         * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
222         (XMISCANY): New macro.
223         (XMISCTYPE): Use it.
224         (struct Lisp_Misc_Any): New type.
225         (union Lisp_Misc): Use it.
226         (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
227         * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
228         (find_symbol_value, set_internal, default_value, Fset_default)
229         (Fmake_variable_buffer_local, Fmake_local_variable)
230         (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
231         (Flocal_variable_if_set_p, Fvariable_binding_locus):
232         The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
233         * alloc.c (allocate_buffer): Set the size and tag.
234         (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
235         Use XMISCANY.
236         (die): Follow the GNU convention for error messages.
237         * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
238         * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
239         tag any more.
240         (set_buffer_internal_1):
241         * frame.c (store_frame_param):
242         * eval.c (specbind):
243         * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
245         * doc.c (Fsnarf_documentation): Simplify.
247 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
249         * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
250         (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
252 2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
254         * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
256 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
258         * eval.c (do_autoload): Don't save autoloads.
260         * data.c (Ffset): Save autoload of the function being set.
262 2007-10-07  John Paul Wallington  <jpw@pobox.com>
264         * xfns.c (x_create_tip_frame): Set the `display-type' frame
265         parameter before setting up faces.
267 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
269         * ccl.c (Fregister_code_conversion_map):
270         * keyboard.c (append_tool_bar_item): Reformat last change.
272         * lisp.h (eabs): Rename from `abs'.  All callers changed.
274 2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
276         * buffer.c (add_overlay_mod_hooklist):
277         * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
278         * fontset.c (make_fontset):
279         * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
280         (append_tool_bar_item):
281         * macmenu.c (grow_menu_items):
282         * w32menu.c (grow_menu_items):
283         * xmenu.c (grow_menu_items): Use larger_vector.
285 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
287         * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
288         selected frame'' on MSDOS).
290 2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
292         * macfns.c (x_create_tip_frame): Set terminal for frame.
294 2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
296         * frame.c (Qenvironment): Remove.
297         (syms_of_frame) <Qenvironment>: Don't initialize.
298         (Fdelete_frame): Don't treat the `environment' param specially.
299         * frame.h (Qenvironment): Don't declare.
300         * callproc.c (set_initial_environment): Don't set unused frame param.
302         * frame.c (Fframe_with_environment): Remove.
303         (syms_of_frame) <Sframe_with_environment>: Don't declare.
305         * lisp.h (Fframe_with_environment): Don't declare.
307 2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
309         * indent.c (indent_tabs_mode, last_known_column)
310         (last_known_column_modified): Make static.
311         (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
313 2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
315         * puresize.h (BASE_PURESIZE): Increase to 1170000.
317 2007-10-09  Richard Stallman  <rms@gnu.org>
319         * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
320         return HANDLED_RETURN.
322 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
324         * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
325         when there's an unread command event.
327         * frame.c (focus_follows_mouse): Move here from frame.el to allow
328         window autoselection act appropriately when leaving selected frame.
329         (syms_of_frame): Initialize focus_follows_mouse.
330         * frame.h (focus_follows_mouse): Extern it.
331         * macterm.c (XTread_socket): When focus_follows_mouse is nil
332         make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
333         * msdos.c (dos_rawgetc): Likewise.
334         * w32term.c (w32_read_socket): Likewise.
335         * xterm.c (handle_one_xevent): Likewise.
336         * xdisp.c (syms_of_xdisp): In doc-string of
337         mouse-autoselect-window mention focus-follows-mouse.
339 2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
341         * macterm.c (mac_load_query_font): Fix missing return value.
342         [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
343         Add BLOCK_INPUT.
345 2007-10-08  Richard Stallman  <rms@gnu.org>
347         * xdisp.c (get_window_cursor_type): Implement documented behavior
348         for cursor-in-non-selected-windows = t.
350 2007-10-08  Jason Rumney  <jasonr@gnu.org>
352         * w32.c (w32_get_resource): Always close registry keys.
354 2007-10-08  Jason Rumney  <jasonr@gnu.org>
356         * makefile.w32-in (LIBS): Add COMCTL32.
358         * w32fns.c (globals_of_w32fns): Init common controls.
360 2007-10-08  Richard Stallman  <rms@gnu.org>
362         * image.c (our_memory_buffer): Rename from omfib_buffer.
364 2007-10-08  Richard Stallman  <rms@gnu.org>
366         * buffer.c (Foverlays_at): Doc fix.
368 2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
370         * fns.c (Fplist_put): Preserve uneven tail data.
372 2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
374         * termhooks.h (enum event_kind): Remove trailing comma.
376         * frame.h (enum): Remove trailing comma.
378 2007-10-08  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
380         * w32proc.c (delete_child): Don't terminate threads of zombies.
382 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
384         * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
386         * keyboard.c (syms_of_keyboard): Set up new Lisp variable
387         last-repeatable-command.
388         (init_kboard): Initialize Vlast_repeatable_command.
389         (command_loop_1): Set it to real_this_command unless that was
390         bound to an input event.
391         (mark_kboards): Mark it.
393 2007-10-08  Richard Stallman  <rms@gnu.org>
395         * eval.c (condition-case): Doc fix.
397 2007-10-08  Masatake YAMATO  <jet@gyve.org>
399         * xfaces.c (tty_supports_face_attributes_p): Fix code
400         for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
401         was copied and not edited.
403 2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
405         Add new `input-decode-map' keymap and use it for terminal
406         escape sequences.
407         * keyboard.h (struct kboard): Add Vinput_decode_map.
408         Remove Vlocal_key_translation_map.
409         * keyboard.c (read_key_sequence): Add support for input-decode-map.
410         (init_kboard): Init input-decode-map.
411         Replace local-key-translation-map back with key-translation-map.
412         (syms_of_keyboard): Declare input-decode-map.
413         Remove local-key-translation-map.  Update docstrings.
414         (mark_kboards): Mark Vinput_decode_map.
415         Don't mark Vlocal_key_translation_map.
416         * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
417         Replace local-key-translation-map back with key-translation-map.
418         * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
419         Bind in input-decode-map rather than function-key-map.
421         * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
422         This was made redundant by the previous introduction of XSETPVECTYPE.
424 2007-10-09  Richard Stallman  <rms@gnu.org>
426         * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
428 2007-09-29  Richard Stallman  <rms@gnu.org>
430         * eval.c (internal_condition_case_2, internal_condition_case_1)
431         (internal_condition_case): Reenable abort if x_catching_errors ()
432         to see if that really happens and why.
434 2007-10-06  Andreas Schwab  <schwab@suse.de>
436         * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
438 2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
440         * image.c (syms_of_image) <image-types>: Fix typo in docstring.
442 2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
444         * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
446 2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
448         * window.h (struct window):
449         * window.c (struct save_window_data, struct saved_window):
450         * termhooks.h (struct terminal):
451         * process.h (struct Lisp_Process):
452         * frame.h (struct frame):
453         * buffer.h (struct buffer):
454         * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
455         (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
456         The size field of (pseudo)vectors is now unsigned.
457         (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
459         * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
460         Turn `count' into an integer.
462         * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
463         (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
464         * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
465         * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
466         (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
468         * alloc.c (allocate_pseudovector): New fun.
469         (ALLOCATE_PSEUDOVECTOR): New macro.
470         (allocate_window, allocate_terminal, allocate_frame)
471         (allocate_process): Use it.
472         (mark_vectorlike): New function.
473         (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
474         (mark_terminals): Use it.
475         (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
476         (Fmake_byte_code): Use XSETPVECTYPE.
478         * frame.c (Fframe_parameters): Minor simplification.
480         * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
482         * marker.c (Fmarker_buffer): Make test for odd case into a failure.
484         * buffer.c (Fget_buffer_create, init_buffer_once):
485         * lread.c (defsubr):
486         * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
488         * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
489         defined differently in the m/*.h files.
490         (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
491         (XSETPVECTYPE): New macro.
492         (XSETPSEUDOVECTOR): Use it.
494         * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
495         (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
497         * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
498         * lread.c (defvar_per_buffer):
499         * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
501         * window.c (candidate_window_p): Only consider as visible frames that
502         are on the same terminal.
504         * m/ibms390x.h (MARKBIT): Remove unused macro.
506 2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
508         * lread.c (Fload): Fix typo in docstring.
510 2007-10-01  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
512         * floatfns.c (Fexpt): Manually check for overflows, so that a power
513         of a non-zero value can't yield zero.
515 2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
517         * term.c (term_clear_mouse_face, term_mouse_highlight)
518         (tty_write_glyphs_with_face): Only define is HAVE_GPM.
520         * print.c (safe_debug_print): Use XHASH.
522         * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
523         Lisp elements such as tags.
524         (XHASH): New macro.
525         (EQ): Use it.
526         (SREF, SSET, STRING_COPYIN): Use SDATA.
527         (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
529         * alloc.c (mark_terminal): Remove left-over declaration.
530         (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
531         (allocate_vectorlike): Remove type argument.  Adjust callers.
532         (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
533         Only handle the one remaining MEM_TYPE_VECTORLIKE.
535         * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
536         to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
537         (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
538         (lisp_align_free, make_interval, allocate_string, allocate_string_data)
539         (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
540         Use them.
542         * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
543         Don't let signal handlers run when a GC is freed but not yet NULL'ed.
544         (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
546 2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
548         * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
549         loaded by default.
551 2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
553         * term.c (Fgpm_mouse_start): Don't signal an error if already activated
554         on this tty.
555         (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
557         * term.c (mouse_face_window): Rename from Qmouse_face_window.
558         Update all users.
559         (handle_one_term_event): Use Gpm_DrawPointer.
560         (Fgpm_mouse_start): Rename from Fterm_open_connection.
561         Signal errors instead of returning nil.  Always return nil.
562         (Fgpm_mouse_stop): Rename from Fterm_close_connection.
563         Make it a noop if gpm-mouse was not activated.
564         (syms_of_term): Update names.
566 2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
568         * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
569         (init_sys_modes): Check that gpm_tty is the current tty.
571         * alloc.c (allocate_terminal): Set the vector size to only count the
572         lisp fields.  Initialize those to nil.
573         (mark_object): Don't treat terminals specially.
574         (mark_terminal): Remove.
575         (mark_terminals): Use mark_object instead.
577         * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
578         the GC to the beginning.
580         * indent.h:
581         * indent.c: Use EMACS_INT for ints coming from Elisp data.
583         * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
585 2007-09-25  Jason Rumney  <jasonr@gnu.org>
587         * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
589         * w32console.c (create_w32cons_output): Remove.
591         * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
593         * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
594         (reset_sys_modes): Use reset_terminal_modes_hook.
596 2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
598         * eval.c (do_autoload): Don't output any message.
600 2007-09-24  Juri Linkov  <juri@jurta.org>
602         * emacs.c (standard_args): Change priority of "--no-splash"
603         from 40 to 3.  Add "--no-desktop" with the same priority.
605 2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
607         * alloc.c (gc_sweep): Check cons cell mark bits word by word
608         and optimize the case where they are all 1.
610 2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
612         * lisp.h (abs): Define if not defined.
613         * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
614         Don't define `abs', since it's defined in lisp.h.
616 2007-09-22  Eli Zaretskii  <eliz@gnu.org>
618         * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
619         (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
620         (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
621         (init_tty): Use DEV_TTY instead of "/dev/tty".
622         [WINDOWSNT]: No need to protect from NAME arg being null.
624 2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
626         * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
627         up the tty state.
629 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
631         * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
632         (gpm_tty): Change its type.
633         * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
634         (gpm_tty): Change its type and initialize it.
635         (Fterm_open_connection): Check the frame is indeed a tty.
636         Use the new gpm_tty.
637         (Fterm_close_connection): Use the new gpm_tty.
638         * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
639         * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
641 2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
643         * w32term.c (x_draw_glyph_string): Use strike_through_color, not
644         underline_color, to draw strike-through.
646 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
648         * lisp.h (allocate_terminal): Declare.
650         * window.c (candidate_window_p): Consider frames that are being placed
651         by the user as somewhere between visible and iconified.
652         (window_loop): Prefer windows on the current frame.
653         (Fselect_window): Move the use of select-frame to the beginning so we
654         can just delegate all the work (it'll call us back anyway).
656         * frame.c (Qdisplay_environment_variable):
657         * frame.h (Qdisplay_environment_variable): Delete.
659         * .gdbinit (xbacktrace): Print the arg's address rather than the value
660         of the first arg, since that value may be a union.
662         * callproc.c (child_setup, getenv_internal): Use the frame's `display'
663         parameter rather than Qdisplay_environment_variable.  If all else
664         fails, look for DISPLAY in initial-environment.
666 2007-09-21  Glenn Morris  <rgm@gnu.org>
668         * Makefile.in (emacstool): Remove target.
669         (lisp, shortlisp): Remove termdev.elc.
671 2007-09-21  Markus Triska  <markus.triska@gmx.at>
673         * xterm.c (x_delete_display): Compile session management conditionally.
675 2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
677         * callproc.c (getenv_internal_1): New function.
678         (getenv_internal): Use it.
679         (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
681         * terminal.c (get_terminal): Don't accept ints to represent terminals.
682         (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
683         (Fset_terminal_parameter): Work with dead terminals as well.
684         (Fmodify_terminal_parameters): Remove.
686         * terminal.c (get_terminal): Handle terminals.
687         Make sure the terminal returned is live.
688         (create_terminal): Use allocate_terminal.
689         (mark_terminals): Move to alloc.c.
690         (delete_terminal): Use terminal->name as liveness status.
691         NULL out fields after freeing their contents.
692         Don't deallocate the object.
693         (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
694         rather than an int.
695         (Fterminal_live_p): Accept non-integer arguments.
696         (Fterminal_list): Return terminal objects rather than an ints.
698         * alloc.c (enum mem_type): New member for `terminal' objects.
699         (allocate_terminal): New function.
700         (mark_maybe_pointer, valid_lisp_object_p, mark_object):
701         Handle terminals.
702         (mark_terminal): New fun.
703         (mark_terminals): Move from terminal.c.
705         * term.c (get_tty_terminal): Don't treat output_initial specially.
706         (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
707         (delete_tty): Use terminal->name as liveness status.
709         * termhooks.h (struct terminal): Make it into a pseudovector.
710         Remove `deleted' replaced by checking `name's nullness.
712         * print.c (print_object): Handle terminals.
714         * lisp.h (enum pvec_type): New `terminal' pseudovector.
715         (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
717         * frame.c (make_terminal_frame):
718         * keyboard.c (tty_read_avail_input):
719         * w32term.c (x_delete_terminal):
720         * xfns.c (Fx_create_frame, x_create_tip_frame):
721         * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
723 2007-09-20  Glenn Morris  <rgm@gnu.org>
725         * process.c (Fmake_network_process): Doc fix.
727 2007-09-19  Jason Rumney  <jasonr@gnu.org>
729         * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
731 2007-09-19  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
733         * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
734         Fix a C warning regarding variable constness.
736         * xterm.c (handle_one_xevent): Fix a C warning.
738 2007-09-18  Jason Rumney  <jasonr@gnu.org>
740         * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
742 2007-09-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
744         * gtkutil.c (gdpy_def): New variable.
745         (xg_initialize): Initialize gdpy_def.
746         (xg_display_close): If no other display exists, set gdpy_def to a
747         new connection.
749 2007-09-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
751         * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
752         when we have no file name for the icon.
753         (xg_tool_bar_expose_callback): Remove.
754         (xg_create_tool_bar): Don't connect expose signal to
755         xg_tool_bar_expose_callback.
756         (xg_get_file_with_chooser): Move GCPRO1 after declarations.
758 2007-09-16  Andreas Schwab  <schwab@suse.de>
760         * alloc.c (reset_malloc_hooks): Set the hooks to the previous
761         values instead of zapping them.
763 2007-09-14  Glenn Morris  <rgm@gnu.org>
765         * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
766         * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
767         * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
768         scope and rename to omfib_buffer for clarity.
769         (gif_load) <interlace_start, interlace_increment>: Move to file scope.
771 2007-09-14  Kenichi Handa  <handa@m17n.org>
773         * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
775 2007-09-13  Jason Rumney  <jasonr@gnu.org>
777         * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
779         * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
781         * macterm.c (mac_initialize): Don't call mac_init_fringe here.
782         (mac_term_init): Call here instead, passing rif.
784 2007-09-13  Glenn Morris  <rgm@gnu.org>
786         * s/hpux.h: No longer define `static' as nothing.
788 2007-09-13  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
790         * callint.c (Fcall_interactively): Remove unused var `fun'.
792 2007-09-12  Romain Francoise  <romain@orebokech.com>
794         * window.c (prefer_window_split_horizontally, display_buffer):
795         Revert 2007-09-08 change.
797 2007-09-12  Glenn Morris  <rgm@gnu.org>
799         * alloca.c: Remove file.
800         * Makefile.in (alloca): Do not undef.
801         (allocaobj, alloca.o): Remove.
802         (otherobj): Remove allocaobj.
803         * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
804         * regex.c (C_ALLOCA): Remove all references and code that was only
805         used when this was defined.
806         * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
807         * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
808         * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
810         * Makefile.in (SOURCES, unlock, relock): Delete.
812         * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
813         (menu_grab_callback): All uses changed.
815         * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
816         (x_reply_selection_request): All uses changed.
818 2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
820         * lread.c (load_warn_old_style_backquotes): Change message to look
821         better when it appears in the middle of byte-compiler messages.
823 2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
825         * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
827         * xterm.c (x_create_terminal): Add comment.
829         * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
831 2007-09-10  Richard Stallman  <rms@gnu.org>
833         * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
835 2007-09-10  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
837         * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
838         (DEFUN): Document `intspec', use it instead of `prompt'.
840         * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
842         * data.c (Finteractive_form): If the interactive specification starts
843         with a `(', use it as a Lisp form.
845         * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
846         name and file modes.
848         * callint.c (Fcall_interactively): Comment fixes.
850 2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
852         * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
853         and compiled functions.
855 2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
857         * window.c (prefer_window_split_horizontally): New variable.
858         (display_buffer): Consider splitting window horizontally depending
859         on prefer_window_split_horizontally.
861 2007-09-08  Eli Zaretskii  <eliz@gnu.org>
863         * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
865 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
867         * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
869         * frame.c (x_set_frame_parameters): Check number is positive before
870         using XFASTINT.
872         * window.c (freeze_window_start): Don't presume selected_window holds
873         a window object.
874         (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
876 2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
878         * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
880 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
882         * window.c (Vsplit_window_preferred_function): New var.
883         (Fdisplay_buffer): Use it.
884         (syms_of_window): Export, and initialize it.
886 2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
888         * image.c (gif_load): Fix bug: Handle nonexistent colormap.
890 2007-09-06  Glenn Morris  <rgm@gnu.org>
892         * gtkutil.c (menu_grab_callback) <cnt>:
893         * xselect.c (x_reply_selection_request) <cnt>: Move static
894         variable to file scope.
896 2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
898         * xdisp.c (redisplay_internal): Make sure Elisp code always sees
899         consistent values of selected_frame and selected_window.
901 2007-09-04  Jason Rumney  <jasonr@gnu.org>
903         * w32console.c (initialize_w32_display): Zero unused hooks.
905 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
907         * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
908         (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
910 2007-09-04  Jason Rumney  <jasonr@gnu.org>
912         * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
913         in w32console.c.  Set up input.  Remove XXX comments that have been
914         confirmed as correct.
916         * s/ms-w32.h (MULTI_KBOARD): Define.
918         * w32console.c (one_and_only_w32cons): Remove.
919         (initialize_w32_display): Take terminal argument.
921         * term.c (init_tty) [WINDOWSNT]: Pass terminal to
922         initialize_w32_display.
923         (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
925         * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
927         * keyboard.c (discard_mouse_events): Discard it.
928         (make_lispy_event): Translate it to a lisp event.
929         (lispy_wheel_names): Add wheel-left and right events.
930         (syms_of_keyboard): Enlarge wheel_syms.
932         * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
933         <WM_MOUSEHWHEEL>: Pass new system message to lisp.
935         * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
937         * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
938         from WM_MOUSEHWHEEL.
939         (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
941         * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
942         terminal.
944         * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
945         keyboard for the terminal.
947 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
949         * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
950         (Vresume_tty_hook): Rename from Vresume_tty_functions.
951         (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
952         and resume-tty-function to resume-tty-hook.
953         (Fsuspend_tty, Fresume_tty): Use new names.
955 2007-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
957         * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
958         if it starts with "n:".
960 2007-08-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
962         * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
964 2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
966         * frame.h:
967         * frame.c (Qterm_environment_variable): Remove.
968         (syms_of_frame): Don't init and staticpro it.
970         * callproc.c (getenv_internal): Remove special case for $TERM.
972         * callproc.c (Vinitial_environment): New variable.
973         (set_initial_environment): Initialize it.
974         (syms_of_callproc): Declare it.
975         (child_setup): Don't mess with TERM via Qterm_environment_variable; the
976         TERM under which a process runs is never related to the TERM in which
977         Emacs is running.
979 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
981         * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
982         * s/darwin.h: ... do it here.
984 2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
986         * lisp.h (set_initial_environment): Rename from set_global_environment.
988         * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
989         removed by mistake on the multi-tty branch.
991         * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
992         (Fmodify_frame_parameters): Return a value.
994         * image.c (png_load): Comment-out var only used in commented-out code.
996         * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
997         before passing it to mark_object.
999         * xfaces.c (internal_resolve_face_name): Return a value.
1000         (internal_resolve_face_name, resolve_face_name_error): Comment out.
1002         * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
1003         (x_icon): Comment-out var only used in commented-out code.
1005 2007-08-29  Romain Francoise  <romain@orebokech.com>
1007         * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
1008         QUIT hasn't been provided.
1010 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
1012         * callproc.c (child_setup, getenv_internal): Use the
1013         display-environment-variable and term-environment-variable frame
1014         params.
1015         (set_initial_environment): Initialise Vprocess_environment.
1017         * config.in: Disable multi-keyboard support on a mac.
1019         * frame.c (Qterm_environment_variable)
1020         (Qdisplay_environment_variable): New variables.
1021         (syms_of_frame): Intern and staticpro them.
1022         (Fmake_terminal_frame): Disable output method test.
1024         * frame.h: Declare them here.
1026         * macfns.c (x_set_mouse_color): Get rif from the frame.
1027         (x_set_tool_bar_lines): Don't use updating_frame.
1028         (mac_window): Add 2 new parameters for consistency with other systems.
1029         (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
1030         frame parameters following what is done in X11 and w32.  Don't use
1031         FRAME_MAC_DISPLAY_INFO.
1032         (Fx_open_connection, start_hourglass): Remove window-system check.
1033         (x_create_tip_frame): Get the keyboard from the terminal.
1035         * macmenu.c: Reorder includes.
1036         (Fx_popup_menu): Use terminal specific mouse_position_hook.
1038         * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
1039         terminal parameter.
1040         (x_clear_frame): Add a frame parameter.
1041         (note_mouse_movement): Get rif from the frame.
1042         (mac_term_init): Initialize the terminal.
1043         (mac_initialize): Make static and move terminal initialization ...
1044         (mac_create_terminal): ... to this new function.
1046         * macterm.h (struct mac_display_info): Add terminal.
1047         (mac_initialize): Delete declaration.
1049         * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
1051         * sysdep.c: Comment out text after #endif.
1053         * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
1054         is defined.  Better initialize ttys in windows.  Use terminal
1055         specific mouse_position_hook.
1057         * termhooks.h (union display_info): Add mac_display_info.
1059         * w32fns.c (Fx_create_frame): Use kboard from the terminal.
1060         Set the default minibuffer frame, window_system and the rest of the
1061         frame parameters following what is done in X11.
1063         * w32term.c (w32_initialize): Make static.
1065         * xselect.c (x_handle_selection_clear): Only access
1066         terminal->kboard when MULTI_KBOARD is defined.
1068         * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
1069         (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
1071 2007-08-29  Jason Rumney  <jasonr@gnu.org>
1073         * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
1074         (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
1076         * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
1077         (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
1079         * keyboard.c (restore_kboard_configuration): Only define when
1080         MULTI_KBOARD defined.
1082         * makefile.w32-in: Update dependancies from Makefile.in.
1083         (OBJ1): Add terminal.$(O)
1085         * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
1086         Don't define function body.
1087         (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
1089         * termhooks.h (display_info) [WINDOWSNT]: Add w32.
1091         * w32.c (request_sigio, unrequest_sigio): Remove.
1093         * w32console.c (w32con_move_cursor, w32con_clear_to_end)
1094         (w32con_clear_frame, w32con_clear_end_of_line)
1095         (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
1096         (w32con_delete_glyphs, w32con_set_terminal_window)
1097         (scroll_line, w32_sys_ring_bell): Add frame arg.
1098         (w32con_set_terminal_modes, w32con_reset_terminal_modes):
1099         Add terminal arg.
1100         (PICK_FRAME): Remove.
1101         (w32con_write_glyphs): Use frame specific terminal coding.
1102         (one_and_only_w32cons): New global variable.
1103         (initialize_w32_display): Use it for storing hooks.
1104         (create_w32cons_output): New function.
1106         * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
1107         arg a frame.
1109         * w32fns.c (x_create_tip_frame): Set terminal and ref count.
1110         Set window_system.
1111         (x_set_tool_bar_lines): Don't use updating_frame.
1112         (Fx_create_frame): Set terminal and ref count.
1113         (Fx_open_connection): Remove window-system check.
1115         * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
1117         * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
1118         (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
1119         (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
1120         Add frame arg.
1121         (x_delete_terminal, w32_create_terminal): New functions.
1122         (w32_term_init): Create a terminal.
1123         (w32_initialize): Move terminal specific initialization to
1124         w32_create_terminal.
1126         * w32term.h (x_output): Remove foreground_pixel and background_pixel.
1127         (w32_clear_rect, w32_clear_area): Use background from frame.
1128         (w32_display_info): Add terminal.
1129         (w32_sys_ring_bell, x_delete_display): Declare here.
1131         * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
1133         * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
1135 2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
1137         * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
1138         Fix get_named_tty calls for the controlling tty.
1140 2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
1142         * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
1144 2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
1146         * term.c (tty_insert_glyphs): Add missing first parameter.
1148 2007-08-29  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <karoly@lorentey.hu>
1150         * buffer.c (Fbuffer_list, Fbury_buffer):
1151         Take frame->buried_buffer_list into account.
1153         * cm.c (current_tty): New variable, for cmputc().
1154         (cmputc): Use it.
1155         (cmcheckmagic): Add tty parameter, look up terminal streams there.
1156         (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
1157         (cmgoto): Add tty parameter.  Pass it on to calccost().
1158         Use emacs_tputs() instead of tputs().
1160         * cm.h (emacs_tputs): New macro to set current_tty, and then call
1161         tputs().
1162         (current_tty): New variable, for cmputc().
1163         (cmcheckmagic, cmputc, cmgoto): Add prototypes.
1165         * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
1166         (internal_condition_case, internal_condition_case_1)
1167         (internal_condition_case_2): Don't abort when x_catching_errors.
1169         * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
1170         (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
1171         prevent crashes caused by bogus longjmps in read_char.
1173         * keymap.h (Fset_keymap_parent): Add EXFUN.
1175         * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
1176         * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1177         Remove redundant definition.
1179         * macfns.c (x_set_mouse_color, x_make_gc):
1180         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1182         * w32term.c (x_free_frame_resources):
1183         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1184         (w32_initialize): Use the accessor macros for terminal characteristics.
1186         * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
1187         Use the accessor macros for terminal characteristics.
1188         * msdos.c (internal_terminal_init): Use the accessor macros for
1189         terminal characteristics.
1190         (ScreenVisualBell, internal_terminal_init):
1191         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1193         * termopts.h (no_redraw_on_reenter): Declare.
1195         * alloc.c (emacs_blocked_malloc): Disable mallopt call.
1196         (mark_terminals, mark_ttys): Declare.
1197         (Fgarbage_collect): Call them.
1198         (mark_object): Mark buried_buffer_list.
1200         * prefix-args.c: Include stdlib.h for exit.
1202         * syssignal.h: Add comment.
1204         * indent.c: Include stdio.h.
1206         * window.h (Vinitial_window_system): Declare.
1207         (Vwindow_system): Delete declaration.
1209         * fontset.c (Finternal_char_font): Use FRAME_RIF.
1211         * image.c (lookup_image): Don't initialize `c' until the xasserts
1212         have been run.
1214         * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
1215         FRAME_FOREGROUND_PIXEL.
1217         * print.c (print_preprocess): Don't lose print_depth levels while
1218         iterating.
1220         * widget.c (update_from_various_frame_slots):
1221         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1223         * window.c (set_window_buffer): Don't call clear_mouse_face on tty
1224         frames.
1225         (window_internal_height): Remove bogus make_number call.
1226         (init_window_once): Call make_terminal_frame with two zero parameters.
1228         * fileio.c (Fread_file_name): Update comment.
1230         * callint.c (Fcall_interactively):
1231         Use temporarily_switch_to_single_kboard instead of single_kboard_state.
1232         Make sure it is correctly unwound.
1234         * xsmfns.c (x_session_close): New function.
1236         * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
1237         Delete declarations.
1239         * xterm.h: Remove declaration for x_fully_uncatch_errors.
1240         (x_output): Remove background_pixel and foreground_pixel fields.
1241         (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
1242         (x_delete_device):
1243         (x_session_close): Declare.
1245         * lread.c: Include setjmp.h.  Update declaration of `read_char'.
1246         (read_filtered_event): Call `read_char' with a local
1247         `wrong_kboard_jmpbuf'.
1249         * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
1250         Don't call single_kboard_state.  Use FRAME_RIF.
1252         * process.c (Fmake_network_process): Don't unrequest_sigio on modern
1253         systems.
1255         * lisp.h (set_process_environment): Rename to `set_global_environment'.
1256         (Fframe_with_environment, Fset_input_meta_mode)
1257         (Fset_quit_char): EXFUN.
1258         (x_create_device, tty_output, terminal, tty_display_info): Declare.
1259         (init_sys_modes, reset_sys_modes): Update prototypes.
1260         (init_all_sys_modes, reset_all_sys_modes): New prototypes.
1262         * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
1263         Vlocal_key_translation_map, and Vkeyboard_translate_table.
1264         (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
1265         Delete declarations.
1266         (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
1267         (temporarily_switch_to_single_kboard, tty_read_avail_input):
1268         New declarations.
1270         * emacs.c (main): Don't call init_sys_modes(), the new term_init()
1271         already does that during init_display().  Call syms_of_keymap
1272         before syms_of_keyboard.  Call `syms_of_terminal'.
1273         Call set_initial_environment, not set_process_environment.
1274         (shut_down_emacs): Call reset_all_sys_modes() instead of
1275         reset_sys_modes().
1277         * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
1278         (internal_resolve_face_name, resolve_face_name_error): New functions.
1279         (resolve_face_name): Protect against loops and errors thrown by Fget.
1280         (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
1281         (Ftty_supports_face_attributes_p): Update tty_capable_p call.
1283         * scroll.c: Replace CURTTY() with local variables throughout the
1284         file (where applicable).
1285         (calculate_scrolling, calculate_direct_scrolling)
1286         (scrolling_1, scroll_cost): Use the accessor macros for terminal
1287         characteristics.
1289         * keymap.c (Vfunction_key_map): Remove.
1290         (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
1291         (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
1292         (Vkey_translation_map): Remove.
1293         (syms_of_keymap): Remove DEFVAR for key-translation-map.
1294         (Fdescribe_buffer_bindings):
1295         (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
1296         Update for terminal-local key-translation-map.
1298         * Makefile.in (callproc.o): Update dependencies.
1299         (lisp, shortlisp): Add termdev.elc.
1300         (obj): Add terminal.o.
1301         (terminal.o): Add dependencies.
1302         [HAVE_CARBON]: Make terminal.o depend on macgui.h.
1303         (data.o, fns.o): Add termhooks.h dependency.
1304         (SOME_MACHINE_LISP): Add dnd.elc.
1305         (minibuf.o): Fix typo.
1306         Update dependencies.
1308         * data.c (do_symval_forwarding, store_symval_forwarding)
1309         (find_symbol_value): Use the selected frame's keyboard, not
1310         current_kboard.
1312         * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
1313         Vwindow_system.
1315         * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
1316         Fmenu_bar_open.
1317         (syms_of_xmenu): Update defsubr.
1318         (mouse_position_for_popup, Fx_popup_menu)
1319         (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
1320         (set_frame_menubar, free_frame_menubar)
1321         (create_and_show_popup_menu, xmenu_show, )
1322         (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
1323         an X frame.
1325         * xselect.c (x_own_selection): Abort if not an X frame.
1326         (some_frame_on_display): Check if it is an X frame.
1327         (x_handle_selection_clear): Deal with MULTI_KBOARD.
1329         * coding.c: Include frame.h and termhooks.h.
1330         (terminal_coding, keyboard_coding): Delete.
1331         (Fset_terminal_coding_system_internal):
1332         (Fset_keyboard_coding_system_internal):
1333         (Fkeyboard_coding_system):
1334         (Fterminal_coding_system): Add a terminal parameter.
1335         Get terminal_coding from the terminal.
1336         (init_coding_once): Don't call setup_coding_system here.
1338         * dispextern.h (set_scroll_region, turn_off_insert)
1339         (turn_off_highlight, background_highlight, clear_end_of_line_raw)
1340         (tty_clear_end_of_line, tty_setup_colors)
1341         (delete_tty, updating_frame)
1342         (produce_special_glyphs, produce_glyphs, write_glyphs)
1343         (insert_glyphs): Remove.
1344         (raw_cursor_to, clear_to_end, tty_turn_off_insert)
1345         (tty_turn_off_highlight, get_tty_size): Add declaration.
1346         (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
1348         * frame.h (enum output_method): Add output_initial.
1349         (struct x_output): Delete.
1350         (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1351         Access foreground_pixel and background_pixel directly from the frame.
1352         (tty_display): Delete.
1353         (struct frame): Add buried_buffer_list, foreground_pixel,
1354         background_pixel and terminal.  Delete kboard
1355         (union output_data): Add tty.
1356         (FRAME_KBOARD): Get the kboard from the terminal.
1357         (FRAME_INITIAL_P): New macro.
1358         (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
1359         (Qterm_environment_variable, Qdisplay_environment_variable)
1360         (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
1361         New declarations.
1363         * termchar.h (tty_output, tty_display_info): New structures.
1364         (tty_list): Declare.
1365         (FRAME_TTY, CURTTY): New macros.
1366         (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
1367         (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
1368         (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
1369         (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
1371         * callproc.c: Include frame.h and termhooks.h, for terminal
1372         parameters.
1373         (add_env): New function.
1374         (child_setup): Use it.
1375         (child_setup, getenv_internal): Handle the new Vprocess_environment.
1376         (getenv_internal): Fix get_terminal_param call.
1377         (Fgetenv_internal, egetenv): Update doc.
1378         (syms_of_callproc): Initialize Vprocess_environment to nil.
1379         Register and initialize them.  Remove obsolete defvars.  Update doc
1380         strings.
1381         (child_setup): Handle Vlocal_environment_variables.
1382         (getenv_internal): Add terminal parameter.
1383         Handle Vlocal_environment_variables.
1384         (Fgetenv_internal): Add terminal parameter.
1385         (child_setup, getenv_internal, Fgetenv_internal): Store the local
1386         environment in a frame (not terminal) parameter.  Update doc strings.
1387         (set_initial_environment): Rename from set_global_environment.
1388         Store Emacs environment in initial frame parameter.
1390         * xdisp.c (redisplay_internal): Update references to
1391         `previous_terminal_frame'.
1392         (display_mode_line, Fformat_mode_line): Replace calls to
1393         `push_frame_kboard' with `push_kboard'.
1394         (get_glyph_string_clip_rects): Add extra parentheses and
1395         braces to prevent compiler warnings.
1396         (calc_pixel_width_or_height): Add xassert to check that the
1397         frame is alive.  Don't call `lookup_image' on a termcap frame.
1398         (message2_nolog, message3_nolog, redisplay_internal)
1399         (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
1400         (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
1401         (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
1402         (Fx_display_pixel_width, Fx_display_pixel_height)
1403         (Fx_display_planes, Fx_display_color_cells)
1404         (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
1405         (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
1406         (Fx_display_backing_store, Fx_display_visual_class)
1407         (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
1408         Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
1410         * xfns.c (x_set_foreground_color x_set_background_color)
1411         (x_set_mouse_color, x_set_cursor_color, x_make_gc):
1412         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1413         (Fx_create_frame, x_create_tip_frame, build_string, x_window)
1414         (Fx_create_frame, x_create_tip_frame): Don't create frames on a
1415         terminal that is being deleted.
1416         (Fx_create_frame): Use `store_frame_param' to set `window-system'
1417         frame parameter, and make sure it overrides any user-supplied setting.
1418         (Fx_close_connection, Fx_synchronize): Unify argument names with
1419         the rest of the DEFUNs.
1421         * dispnew.c (Fsend_string_to_terminal): Update call to
1422         `get_tty_terminal'.
1423         (Fredraw_frame, Fsend_string_to_terminal)
1424         (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
1425         FRAME_TERMCAP_P and FRAME_TTY.
1426         (window_change_signal): Don't believe width/height values that are
1427         impossibly small.
1428         (Vinitial_window_system): Rename from Vwindow_system.
1429         (termscript, Wcm, rif): Delete.
1431         * termhooks.h (struct terminal): New struct containing the
1432         previously global text display hooks and new members NAME,
1433         DELETED and PARAM_ALIST.
1434         (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
1435         (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
1436         (FRAME_RIF): New macros.
1437         (get_terminal_param, get_device): New declarations.
1438         (termscript): Delete declaration.
1440         * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
1441         (XTflash, x_free_frame_resources, x_scroll_bar_create)
1442         (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
1443         FRAME_FOREGROUND_PIXEL.
1444         (x_fully_uncatch_errors): Disable definition.
1445         (x_scroll_bar_expose): Fix reference to foreground pixel.
1446         (XTread_socket): Disable loop on all X displays.
1447         (x_delete_terminal): Don't set terminal->deleted and let
1448         delete_terminal delete the frames on the terminal.
1449         (x_delete_display): Doc update to reflect changes in
1450         delete_terminal.
1451         (x_display_info) <terminal>: Move member earlier in the struct.
1452         (deleting_tty): Remove old variable.
1453         (Fsuspend_tty): Call clear_tty_hooks.
1454         (Fresume_tty, init_tty): Call set_tty_hooks.
1455         (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
1456         errors on X frames.
1457         (x_catch_errors_unwind): Abort if x_error_message is NULL.
1458         (handle_one_xevent): Initialize `f' to NULL.
1459         (x_delete_terminal, x_create_terminal): New functions.
1460         (XTset_terminal_modes, XTreset_terminal_modes)
1461         (XTread_socket, x_connection_closed, x_term_init)
1462         (x_term_init, x_delete_display): Add terminal parameter.
1463         (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
1464         X connections.
1466         * frame.c (Fframep): Deal with output_initial.
1467         (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
1468         (Qtty_type, Qwindow_system, Qenvironment)
1469         (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
1470         (x_set_screen_gamma, store_frame_param): Fix compilation errors.
1471         (make_terminal_frame): Don't create frames on a terminal that is
1472         being deleted.
1473         (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
1474         FRAME_FOREGROUND_PIXEL.
1475         (store_frame_param): Check for found_for_frame before calling XFRAME.
1476         (Fmake_terminal_frame): Handle NULL tty names correctly.
1477         (syms_of_frame): Enhance doc string of `default-frame-alist'.
1478         (Fdelete_frame): Remove unused variable `count'.
1479         (Qenvironment): New variable.
1480         (Fdelete_frame): Don't allow other frames to refer to a deleted
1481         frame in their 'environment parameter.
1482         (Fframe_with_environment): New function.
1483         (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
1484         (get_future_frame_param): New function.
1485         (Fmake_terminal_frame): Use it.
1486         (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
1488         * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
1489         * sysdep.c (reset_sys_modes): Update for renames.
1491         * keyboard.c (tty_read_avail_input): New function.
1492         (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
1493         (syms_of_keyboard): Defsubr them.
1494         (Fset_input_meta_mode, Fset_quit_char): New functions.
1495         (Fset_input_mode): Split to above functions.
1497         (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
1498         parameter.  Use it in call to `read_char'.
1499         (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
1500         Set wrong_kboard_jmpbuf correctly in recursive calls.
1501         Use current_kboard to access Vkeyboard_translate_table.
1502         Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
1503         Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
1504         Update longjmp invocations.  Remember the original current_kboard,
1505         and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
1506         changes it.  Comment out unnecessary calls to
1507         `record_single_kboard_state' and `any_kboard_state'.
1508         Update recursive calls.
1509         (wrong_kboard_jmpbuf): Remove global variable.
1510         (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
1511         Handle deleted interrupted_kboards correctly; that is a legal
1512         case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
1513         and read_char calls.  Abort if interrupted_kboard died in read_char.
1514         (any_kboard_state, single_kboard_state)
1515         (push_frame_kboard): Remove function.
1516         (pop_kboard): Switch out of single_kboard mode if the kboard has
1517         been deleted.  Remove unused variable.  Help debugging by not
1518         changing current_kboard unnecessarily.  Set current_kboard to the
1519         kboard of the selected frame when the stored kboard object has
1520         been deleted before pop_kboard.
1521         (temporarily_switch_to_single_kboard): Change first parameter to a
1522         frame pointer.  Throw an error when caller wants to change kboards
1523         while in single_kboard mode.  Don't push_kboard if we weren't in
1524         single kboard state.  Don't pop_kboard if we popped into any
1525         kboard state.
1526         (restore_kboard_configuration): Abort if pop_kboard changed the
1527         kboard in single_kboard mode.  Call pop_kboard only after setting
1528         up single_kboard mode.
1529         (Frecursive_edit): Switch to single_kboard mode only in nested
1530         command loops.
1531         (cmd_error, command_loop, command_loop_1, timer_check):
1532         Comment out unnecessary call to `any_kboard_state' and
1533         `record_single_kboard_state'.
1534         (delete_kboard): Exit single_kboard mode if we have just deleted
1535         that kboard.  Use FRAME_KBOARD.
1536         (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
1537         `fatal_error_signal'.
1538         (record_single_kboard_state): Don't push_kboard if we weren't in
1539         single kboard state.  Don't pop_kboard if we popped into any
1540         kboard state.
1541         (push_frame_kboard): Rename to push_kboard.
1542         (kbd_buffer_get_event): Use FRAME_TERMINAL.
1543         (read_avail_input): Read input from all terminals.
1544         (mark_kboards): Also mark Vkeyboard_translate_table.
1545         (kbd_buffer_store_event_hold): Simplify condition.
1546         (read_key_sequence): Reinitialize fkey and keytran at each replay.
1547         (Vkeyboard_translate_table): Move to struct kboard.
1548         (init_kboard): Initialize Vkeyboard_translate_table.
1549         (syms_of_keyboard): Use DEFVAR_KBOARD to define
1550         Vkeyboard_translate_table.  Update doc strings.  Update docs of
1551         local-function-key-map and function-key-map.
1553         * terminal.c: New file.
1555         * term.c: Include errno.h.
1556         (Vring_bell_function, device_list, initial_device)
1557         (next_device_id, ring_bell, update_begin, update_end)
1558         (set_terminal_window, cursor_to, raw_cursor_to)
1559         (clear_to_end, clear_frame, clear_end_of_line)
1560         (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
1561         (Fdisplay_name, create_device, delete_device): Move to terminal.c.
1562         (syms_of_term): Move their initialization to terminal.c.
1563         (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
1564         (Ftty_display_color_cells)
1565         (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
1566         (clear_tty_hooks, set_tty_hooks)
1567         (init_tty, maybe_fatal): New functions.
1568         (Ftty_type): Return nil if terminal is not on a tty instead of
1569         throwing an error.  Doc update.
1570         (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
1571         Doc update.  Initialize new subrs and variables.
1572         (delete_tty): Use terminal->deleted.
1573         (tty_set_terminal_modes): Rename from set_terminal_modes.
1574         (tty_reset_terminal_modes): Rename from reset_terminal_modes.
1575         (set_scroll_region): Rename to `tty_set_scroll_region'.
1576         (turn_on_insert): Rename to `tty_turn_on_insert'.
1577         (turn_off_insert): Rename to `tty_turn_off_insert'.
1578         (turn_off_highlight): Rename to `tty_turn_off_highlight'.
1579         (turn_on_highlight): Rename to `tty_turn_on_highlight'.
1580         (toggle_highligh): Rename to `tty_toggle_highlight'.
1581         (background_highlight): Rename to `tty_background_highlight'.
1582         (highlight_if_desired): Rename to `tty_highlight_if_desired'.
1583         (tty_ring_bell, tty_update_end, tty_set_terminal_window)
1584         (tty_set_scroll_region, tty_background_highlight)
1585         (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
1586         (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
1587         (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
1588         (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
1589         Add static modifier.
1590         (tty_reset_terminal_modes, tty_set_terminal_window)
1591         (tty_set_scroll_region, tty_background_highlight)
1592         (tty_highlight_if_desired, tty_cursor_to)
1593         (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
1594         (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
1595         (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
1596         renames.
1598 2007-08-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1600         * keyboard.c: Qrtl is new.
1601         (parse_tool_bar_item): Handle :rtl keyword.
1602         (syms_of_keyboard): Intern :rtl keyword.
1604         * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
1606         * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
1607         so no Lisp code is executed.
1608         (file_for_image, find_rtl_image): New functions.
1609         (xg_get_image_for_pixmap): Use file_for_image
1610         (update_frame_tool_bar): If direction is RTL, use RTL image if
1611         defined.  Use Gtk stock images if defined.
1613 2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1615         * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
1616         for nonexistent or zero-width glyph in composition glyph.
1618 2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1620         * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
1622         * xdisp.c (Finvisible_p): New function.
1623         (syms_of_xdisp): defsubr it.
1625 2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
1627         * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
1628         Doc fixes.
1630 2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1632         * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
1634 2007-08-24  Martin Rudalics  <rudalics@gmx.at>
1636         * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
1637         whether decoding has modified buffer contents.
1639 2007-08-24  Jason Rumney  <jasonr@gnu.org>
1641         * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
1642         (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
1643         (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
1644         (init_svg_functions) [HAVE_NTGUI]: New function.
1645         (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
1646         (svg_load_image): Use them.
1647         (svg_load_image) [HAVE_NTGUI]: Implement background.
1649 2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1651         * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
1652         (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
1653         (LIBX): Remove @RSVG_LIBS@.
1654         (LIBES): Add $(RSVG_LIBS).
1656         * image.c (svg_load_image): Blend with specified background if exists.
1657         Use IMAGE_BACKGROUND.  Add Mac OS Support.
1659         * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
1660         (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
1661         Remove macros.
1662         [MAC_OSX] (socket_callback): Do nothing.
1663         [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
1664         ReceiveNextEvent.
1665         [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
1666         socket_callback.
1667         (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
1669 2007-08-22  Glenn Morris  <rgm@gnu.org>
1671         * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
1673 2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
1675         * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
1677         * image.c: Add support for SVG images.  Some additional comments
1678         by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
1679         (svg_image_p): New function to test for SVG image.
1680         (svg_load): New function to load SVG image.
1681         (svg_load_image): New function, helper for svg_load.
1682         (Qsvg): New Lisp_object.
1683         (svg_keyword_index): New enum.
1684         (svg_format): New static `image_keyword' struct.
1685         (svg_type): New static `image_type' struct.
1686         (librsvg/rsvg.h): Include it.
1688 2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1690         * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
1692 2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1694         * lread.c (Qold_style_backquotes): New var.
1695         (syms_of_lread): Init and staticpro it.
1696         (load_warn_old_style_backquotes): New fun.
1697         (Fload): Use them to warn about old style backquotes.
1698         (end_of_file_error, Fload): Remove unused vars.
1700         * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
1702         * lread.c (Vold_style_backquotes): New var.
1703         (syms_of_lread): Init and export it to Elisp.
1704         (read1): Set it when we find an old-style (back)quote.
1706 2007-08-22  Jason Rumney  <jasonr@gnu.org>
1708         * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
1710 2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
1712         * puresize.h (BASE_PURESIZE): Increase to 1140000.
1714 2007-08-19  Richard Stallman  <rms@gnu.org>
1716         * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
1718 2007-08-19  Andreas Schwab  <schwab@suse.de>
1720         * alloc.c (pure): Round PURESIZE up.
1722 2007-08-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1724         * xterm.c (handle_one_xevent): Remove check that mouse click is in
1725         active frame.
1727 2007-08-16  Richard Stallman  <rms@gnu.org>
1729         * eval.c (Fcommandp): Add parens to clarify.
1731         * minibuf.c (Fall_completions): Use enum for type of table.
1733         * emacs.c (USAGE2): Improve text.
1735 2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
1737         * term.c (tty_default_color_capabilities): Declare static
1738         variables in file scope, to avoid HPUX compiler problem.
1740 2007-08-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1742         * gtkutil.c (update_frame_tool_bar): Use -1 as index
1743         to gtk_toolbar_insert.
1745 2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
1747         * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
1749         * insdel.c (reset_var_on_error): New fun.
1750         (signal_before_change, signal_after_change):
1751         Use it to reset (after|before)-change-functions to nil in case of error.
1752         Bind inhibit-modification-hooks to t.
1753         Don't bind (after|before)-change-functions to nil while they run.
1755 2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1757         * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
1758         filling pixmap with stippled background.
1760 2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1762         * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
1763         Don't use invisible frame as parent window for repositioning.
1765 2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1767         * print.c (new_backquote_output): Rename from old_backquote_output.
1768         (print): Inverse its logic (according to its name) so as to match the
1769         behavior of new_backquote_flag in lread.c.
1771 2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1773         * gmalloc.c (posix_memalign): New function.
1775         * macterm.c (frame_highlight, frame_unhighlight): Don't call
1776         ActivateControl/DeactivateControl here.
1777         [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
1778         frame-notice-user-settings is non-nil.
1779         [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
1780         for kEventParamFMFontStyle.
1781         [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
1782         mac_pass_command_to_system and mac_pass_control_to_system here.
1783         (XTread_socket): Call ActivateControl/DeactivateControl here.
1784         (XTread_socket) [TARGET_API_MAC_CARBON]:
1785         Check mac_pass_command_to_system and mac_pass_control_to_system here.
1786         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
1787         for window repositioning.
1789 2007-08-08  Glenn Morris  <rgm@gnu.org>
1791         * Replace `iff' in doc-strings and comments.
1793 2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
1795         * xdisp.c (move_it_by_lines): Remove incorrect optimization.
1797 2007-08-07  Martin Rudalics  <rudalics@gmx.at>
1799         * fileio.c (Finsert_file_contents): Run format-decode and
1800         after_insert_file_functions on entire buffer when REPLACE is
1801         non-nil and inhibit modification_hooks and point_motion_hooks.
1802         For consistency, run after_insert_file_functions iff something
1803         got inserted.  Move signal_after_change and update_compositions
1804         after code running after_insert_file_functions.  Make sure that
1805         undo_list doesn't record intermediate steps of the decoding process.
1807 2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1809         * emacs.c (main)
1810         [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
1811         Call malloc_enable_thread on interactive startup.
1813         * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
1814         (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
1815         [USE_PTHREAD]: Conditionalize with it.
1816         (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
1817         (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
1818         New functions.
1820 2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
1822         * xdisp.c (redisplay_window): When restoring original buffer
1823         position, make sure it is still valid.
1825         * image.c (png_load): Ignore png-supplied background color.
1827 2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1829         * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
1830         Use kCFAbsoluteTimeIntervalSince1970.
1832         * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
1833         New variable.
1834         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
1835         event loop should be quit.
1836         [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
1837         Quit dialog event loop if quit_dialog_event_loop is set.
1839         * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
1840         (Selection): New typedef.  Use instead of ScrapRef.
1841         (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
1842         (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
1843         (mac_clear_selection): Rename from clear_scrap.
1844         (get_flavor_type_from_symbol): New argument SEL and subsume function of
1845         scrap_has_target_type.  All uses changed.
1846         (mac_get_selection_ownership_info, mac_valid_selection_value_p)
1847         (mac_selection_has_target_p): New functions.
1848         (mac_put_selection_value): Rename from put_scrap_string.
1849         (mac_get_selection_value): Rename from get_scrap_string.
1850         (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
1851         (put_scrap_private_timestamp, scrap_has_target_type)
1852         (get_scrap_private_timestamp): Remove functions.
1853         (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
1854         (x_own_selection, x_get_local_selection):
1855         Use mac_valid_selection_value_p.
1856         (x_own_selection): Don't use put_scrap_private_timestamp.
1857         Record OWNERSHIP-INFO into Vselection_alist instead.
1858         (x_get_local_selection): Don't check type if request is local.
1859         (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
1860         Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
1862 2007-08-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1864         * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
1865         add comment explaining why.
1867 2007-08-03  Richard Stallman  <rms@gnu.org>
1869         * fileio.c (Fvisited_file_modtime): Use make_time.
1871 2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
1873         * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
1874         build.
1876 2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
1878         * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
1880 2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
1882         * puresize.h (BASE_PURESIZE): Increase to 1130000.
1884 2007-07-30  Richard Stallman  <rms@gnu.org>
1886         * lread.c (readevalloop, read1): Treat NBSP as whitespace.
1888 2007-07-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1890         * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
1892 2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
1894         * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
1895         remote default-directory.
1897         * buffer.c (mode-line-format): Update doc string.
1899 2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1901         * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
1902         scroll bar gap.
1903         (x_scroll_bar_create): Set bar->fringe_extended_p.
1904         (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
1905         on frame edge.  Check fringe background extension.  Don't clear
1906         extended fringe background area.
1908         * w32term.h (struct scroll_bar): New member fringe_extended_p.
1909         (w32_fill_area): Enclose multiple statements with do ... while (0).
1911         * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
1912         Extend fringe background to scroll bar gap.
1913         (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
1914         Set bar->fringe_extended_p.
1915         (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1916         Put leftmost/rightmost scroll bars on frame edge.  Check fringe
1917         background extension.  Don't clear extended fringe background area.
1919         * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1920         New member fringe_extended_p.
1922 2007-07-25  Glenn Morris  <rgm@gnu.org>
1924         * Relicense all FSF files to GPLv3 or later.
1926         * COPYING: Switch to GPLv3.
1928 2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1930         * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
1932         * data.c (Finteractive_form): Check for the presence of an
1933         `interactive-form' symbol property more thoroughly.
1935         * data.c (Finteractive_form): Use an `interactive-form' property if
1936         present, analogous to the function-documentation property.
1938 2007-07-24  Jason Rumney  <jasonr@gnu.org>
1940         * w32fns.c (x_real_positions): Get real position from OS instead of
1941         calculating it.
1943 2007-07-23  Jason Rumney  <jasonr@gnu.org>
1945         * filelock.c (current_lock_owner): Allow for @ sign in username.
1947 2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
1949         * xdisp.c (decode_mode_spec): Add case 'R' for to test for
1950         remote default-directory.
1952         * buffer.c (mode-line-format): Describe above case in doc string.
1954 2007-07-20  Eli Zaretskii  <eliz@gnu.org>
1956         * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
1957         Define if not defined.
1959 2007-07-18  Jason Rumney  <jasonr@gnu.org>
1961         * w32proc.c (w32_executable_type): Handle 64 bit executables.
1963 2007-07-18  Richard Stallman  <rms@gnu.org>
1965         * data.c (Fsetq_default): Doc fix.
1967         * eval.c (Fsetq): Doc fix.
1969 2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
1971         * coding.c (Ffind_operation_coding_system):
1972         * eval.c (For, Fand): Doc fixes.
1973         Reported by Johan Bockg\e,Ae\e(Brd.
1975 2007-07-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1977         * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
1979         * xterm.h: Declare x_ewmh_activate_frame.
1981         * xterm.c (x_ewmh_activate_frame): New function.
1982         (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
1984 2007-07-17  Martin Rudalics  <rudalics@gmx.at>
1986         * window.c (Fdisplay_buffer): If largest or LRU window is the
1987         only window, split it even if it is not eligible for splitting.
1988         This restores the original behavior broken by the 2007-07-15
1989         change.
1991 2007-07-17  Glenn Morris  <rgm@gnu.org>
1993         * abbrev.c (abbrev_check_chars): New function.
1994         (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1995         Call abbrev_check_chars to check abbrev characters are word
1996         constituents.  Doc fix.
1998 2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2000         * process.c (Fstart_process, Fmake_network_process)
2001         (read_process_output): Fix up last changes.
2003 2007-07-16  Eli Zaretskii  <eliz@gnu.org>
2005         * makefile.w32-in (clean): Don't delete *~.
2007 2007-07-16  Andreas Schwab  <schwab@suse.de>
2009         * window.c (Fdisplay_buffer): Use NILP.
2010         (Fset_window_scroll_bars): Likewise.
2012 2007-07-15  Martin Rudalics  <rudalics@gmx.at>
2014         * window.c (window_min_size_2): New function.
2015         (window_min_size_1, size_window, Fdisplay_buffer)
2016         (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
2017         windows without mode- or header-lines when window-min-height is
2018         too small.
2019         (size_window): Reset nodelete_p after testing it, following an
2020         earlier note by Kim F. Storm.
2021         (display_buffer): Do not set split_height_threshold to twice the
2022         value of window_min_height to avoid changing the value of a
2023         customizable variable.  Rather explicitly check whether the
2024         height of the window that shall be splitted is at least as large
2025         as split_height_threshold.
2026         (Fwindow_full_width_p): New defun.
2027         (syms_of_window): Defsubr it.
2029         * window.h: Add EXFUN for Fwindow_full_width_p.
2031 2007-07-14  Jason Rumney  <jasonr@gnu.org>
2033         * process.c [WINDOWSNT]: Don't undefine AF_INET6.
2035 2007-07-14  Richard Stallman  <rms@gnu.org>
2037         * eval.c (maybe_call_debugger): New function.
2038         (find_handler_clause): Use maybe_call_debugger.
2039         Call it when the handler says `debug'.
2040         Eliminate DEBUGGER_VALUE_PTR.
2041         (Fsignal): Eliminate debugger_value.
2042         (Qdebug): New variable.
2043         (syms_of_eval): Initialize it.
2045 2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
2047         * eval.c (Fprogn):
2048         * keyboard.c (Ftrack_mouse):
2049         * print.c (Fwith_output_to_temp_buffer):
2050         * window.c (Fsave_window_excursion): Doc fix.
2052 2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2054         * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
2056 2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2058         * process.h (struct Lisp_Process): Turn slots infd, outfd,
2059         kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
2060         inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
2061         read_output_delay, and read_output_skip from Lisp_Objects to ints.
2062         Remove unused encoding_carryover.
2063         * process.c: Adjust all functions accordingly.
2065 2007-07-12  Richard Stallman  <rms@gnu.org>
2067         * term.c: Include unistd.h only if HAVE_UNISTD_H.
2069 2007-07-11  Jason Rumney  <jasonr@gnu.org>
2071         * makefile.w32-in (LIBS): Include OLE32.
2073         * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
2074         (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
2076 2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2078         * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
2079         * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
2080         from a Lisp_Object into a bare pointer.
2081         (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
2082         Adjust the code correspondingly.
2084         * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
2086         * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
2087         (term_show_mouse_face): Remove unused var `j'.
2088         (handle_one_term_event): Remove unused vars `i' and `j'.
2089         Don't cast return value of ttyname since it's not necessary.
2091 2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2093         * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
2094         USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
2096         * fns.c (map_char_table): Use an array of int for `indices' rather than
2097         an array of Lisp_Objects (which are only ever integers anyway).
2098         (Fmap_char_table): Update caller.
2099         * lisp.h: Update prototype.
2100         * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
2101         * fontset.c (Ffontset_info):
2102         * casetab.c (set_case_table): Update callers.
2104         * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
2106         * keymap.c (struct accessible_keymaps_data)
2107         (struct where_is_internal_data): New structures.
2108         (accessible_keymaps_1, where_is_internal_1): Use them to change
2109         interface to adhere to the one used by map_keymap.
2110         (Faccessible_keymaps, where_is_internal): Use map_keymap.
2111         (accessible_keymaps_char_table, where_is_internal_2): Remove.
2113         * keymap.h (map_keymap_function_t): More informative prototype.
2115 2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
2117         * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
2118         (looking_at_1): Don't change search_regs and last_thing_searched
2119         if `inhibit-changing-match-data' is non-nil.
2120         (string_match_1, search_buffer, set_search_regs): Likewise.
2121         (syms_of_search): Add Lisp level definition for
2122         `inhibit-changing-match-data' and set it to nil.
2123         (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
2124         start and end of the match, instead of using values in search_regs.
2126 2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2128         * minibuf.c (Fcompleting_read): New value `confirm-only'
2129         for `require-match'.
2131 2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
2133         * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
2134         part of the 2007-06-27 change to syms_of_fileio.
2136 2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2138         * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
2139         Check WINDOWP before using XWINDOW.  Consolidate return statements.
2141 2007-06-27  Richard Stallman  <rms@gnu.org>
2143         * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
2145 2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
2147         * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
2149 2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2151         * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
2152         (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
2153         (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
2154         (_free_internal, memalign): Use them.
2155         (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
2156         Initialize to PTHREAD_MUTEX_INITIALIZER.
2157         (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
2158         (morecore_nolock): Rename from morecore.  All uses changed.
2159         Use only nolock versions of internal allocation functions.
2160         (_malloc_internal_nolock, _realloc_internal_nolock)
2161         (_free_internal_nolock): New functions created from
2162         _malloc_internal, _realloc_internal, and _free_internal.
2163         (_malloc_internal, _realloc_internal, _free_internal): Use them.
2164         Copy hook value to automatic variable before its use.
2165         (memalign): Copy hook value to automatic variable before its use.
2167 2007-06-26  Kenichi Handa  <handa@m17n.org>
2169         * coding.c (Ffind_operation_coding_system): Docstring improved.
2170         (syms_of_coding): Docstring of `file-coding-system-alist' improved.
2172 2007-06-25  David Kastrup  <dak@gnu.org>
2174         * keymap.c (Fcurrent_active_maps): Add `position' argument.
2175         (Fwhere_is_internal): Adjust call to `current-active-maps' to
2176         cater for additional parameter.
2178         * keymap.h: Adjust number of parameters to `current-active-maps'.
2180         * doc.c (Fsubstitute_command_keys): Adjust call of
2181         `current-active-maps'.
2183 2007-06-25  David Kastrup  <dak@gnu.org>
2185         * callint.c (Fcall_interactively): Make the parsing of interactive
2186         specs somewhat more readable.
2188 2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2190         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
2191         to scroll bar gap also when bitmap fills fringe.  Draw only foreground
2192         if extended background has already been filled.
2194 2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2196         * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
2197         (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
2199         * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
2200         Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
2201         in #if 0 as it is not compatible with y-or-n-p-with-timeout.
2202         (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
2203         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
2204         instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
2205         (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
2206         [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
2207         Run timers during dialog popup.
2208         (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
2210 2007-06-21  Jason Rumney  <jasonr@gnu.org>
2212         * image.c (convert_mono_to_color_image): Swap fore and background.
2214 2007-06-20  Jason Rumney  <jasonr@gnu.org>
2216         * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
2217         (w32_free_bdf_font): Unmap memory not handle.
2219 2007-06-20  Sam Steingold  <sds@gnu.org>
2221         * gmalloc.c (__morecore): Fix the declaration to comply with the
2222         definition.
2224 2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
2226         * w32term.c (w32_delete_display): Remove leftover declaration.
2227         (w32_define_cursor, w32_initialize): Make static.
2229         * w32.c (_wsa_errlist): Fix typo in error message.
2230         (init_environment): Ignore any environment variable from the
2231         registry having a null value.
2233 2007-06-20  Glenn Morris  <rgm@gnu.org>
2235         * Makefile.in (LIBGIF): Default to -lgif.
2237 2007-06-17  Jason Rumney  <jasonr@gnu.org>
2239         * w32menu.c (add_menu_item): Don't use multibyte string functions on
2240         unicode strings.
2242 2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
2244         * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
2245         Fix typo in docstring.
2247 2007-06-16  Eli Zaretskii  <eliz@gnu.org>
2249         * w32menu.c (add_menu_item): Escape `&' characters in menu items
2250         and their keybindings.
2252 2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
2254         * composite.c (update_compositions): Fix last fix.
2256 2007-06-14  Jason Rumney  <jasonr@gnu.org>
2258         * w32.c (get_process_times_fn): New function pointer.
2259         (globals_of_w32): Intialize it if present in kernel32.dll.
2260         (w32_get_internal_run_time): New function.
2262         * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
2264 2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
2266         * composite.c (update_compositions): Check the validness of
2267         compositions.
2269 2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2271         * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
2272         (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
2274         * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
2275         (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
2277         * macgui.h (USE_MAC_TOOLBAR): New define.
2279         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2280         Return immediately unless popup is activated.
2282         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
2283         background to scroll bar gap.
2284         (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
2285         (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
2286         scroll bars on frame edge.  Check fringe background extension.
2287         Don't clear extended fringe background area.
2288         (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
2289         (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
2290         (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
2291         [USE_MAC_TOOLBAR]: New macros.
2292         (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
2293         (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
2294         (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
2295         (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
2296         [USE_MAC_TOOLBAR]: New functions.
2297         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
2298         manually if previous repositioning has failed.
2299         (mac_handle_keyboard_event): Use precomputed event kind.
2300         (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
2301         as tool bar item click.  Handle mouse movement over tool bar items.
2303         * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
2304         toolbar_win_gravity.
2305         (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
2306         (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
2307         Add externs.
2309         * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
2310         [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
2312 2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
2314         * image.c (search_image_cache): Remove unused variable.
2316 2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
2318         * xfns.c, xmenu.c: Link to xaw3d if available.
2320 2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2322         * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
2323         frame_foreground and frame_background.
2325         * image.c (lookup_image): Save frame foreground and background colors.
2326         (search_image_cache): Check if saved and current frame colors match.
2328 2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2330         * regex.c (regex_compile): Remove the `regnum' counter.
2331         Use bufp->re_nsub instead.  Add support for \(?N:RE\).
2333 2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2335         * term.c: Include intervals.h to declare Fget_text_property.
2337 2007-06-10  Jason Rumney  <jasonr@gnu.org>
2339         * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
2341 2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
2343         * callint.c (Fcall_interactively):
2344         * editfns.c (Fdelete_and_extract_region):
2345         * fileio.c (Fread_file_name):
2346         * fns.c (Fmapconcat):
2347         * keyboard.c (cmd_error_internal):
2348         * keymap.c (Fkey_description):
2349         * lread.c (openp):
2350         * minibuf.c (read_minibuf):
2351         * search.c (wordify):
2352         * sunfns.c (sel_read):
2353         * xdisp.c (Fformat_mode_line, syms_of_xdisp):
2354         * xfns.c (x_default_scroll_bar_color_parameter):
2355         * xmenu.c (menu_help_callback):
2356         * xselect.c (Fx_get_atom_name):
2357         * xterm.c (x_term_init): Use empty_unibyte_string.
2359 2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
2361         * alloc.c (init_strings): Initialize canonical empty strings.
2362         (make_uninit_string, make_uninit_multibyte_string): Return appropriate
2363         canonical empty string when the requested size is 0.
2365         * emacs.c (empty_unibyte_string): Rename from empty_string.
2366         (empty_multibyte_string): New canonical empty string.
2367         (syms_of_emacs): Don't initialize empty_string.
2369         * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
2370         string, if appropriate.
2371         (empty_unibyte_string, empty_multibyte_string): New externs.
2372         (empty_string): Remove extern.
2374         * lread.c (syms_of_lread): Use empty_unibyte_string.
2376 2007-06-07  Jason Rumney  <jasonr@gnu.org>
2378         * s/ms-w32.h: Don't define HAVE_TZNAME.
2380         * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
2382 2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2384         * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
2386         * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
2387         (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
2389         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2390         Don't call next handler.
2391         [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
2392         Remove argument.  Install handler to application.
2393         (set_frame_menubar): Don't change deep_p.
2394         (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
2395         FRAME_OUTER_TO_INNER_DIFF_Y.
2396         (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2397         (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2398         [HAVE_DIALOGS]: New macros.
2399         [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
2400         Use them.
2401         (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
2403         * macselect.c [MAC_OSX] (install_service_handler): Rename from
2404         init_service_handler.  All callers changed.  Return OSStatus value.
2406         * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
2407         All callers changed so as not to call SetPortWindowPort.
2408         (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
2409         (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
2410         mac_draw_string_common.
2411         (mac_draw_image_string_qd): Likewise.
2412         (mac_draw_string_common): Use them.  Add INLINE.
2413         (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
2414         Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
2415         GetGlobalMouse.
2416         (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
2417         and FRAME_OUTER_TO_INNER_DIFF_Y.
2418         [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
2419         [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
2420         (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
2421         repositioning window to mac_handle_window_event.
2422         (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
2423         saving window location to mac_handle_window_event
2424         [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
2425         (install_menu_target_item_handler): Remove argument in extern.
2426         [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
2427         Also accept command events.
2428         (do_keystroke): New function created from XTread_socket.
2429         (init_command_handler): Remove functions.
2430         [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
2431         and save window location by kEventWindowShowing and kEventWindowHiding
2432         handlers here.  Don't call next handler for window state change and
2433         focus events.
2434         (mac_handle_application_event, mac_handle_keyboard_event)
2435         [TARGET_API_MAC_CARBON]: New functions.
2436         (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
2437         kEventWindowShowing and kEventWindowHiding events.  Move installation
2438         of mouse, font, text input and menu target item handlers to
2439         install_application_handler.
2440         (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
2441         (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2442         New function.
2443         (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2444         Register it.
2445         (XTread_socket) [TARGET_API_MAC_CARBON]:
2446         Consolidate SendEventToEventTarget calls.
2447         Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
2448         Move application activation handler to mac_handle_application_event.
2449         Move keyboard handler to mac_handle_keyboard_event.
2450         (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
2451         (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
2452         init_command_handler.  Call install_application_handler.
2454         * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
2455         (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
2457 2007-06-07  Glenn Morris  <rgm@gnu.org>
2459         * emacs.c (main): Use `emacs-copyright' in --version output.
2461 2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
2463         * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
2465 2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2467         * macfns.c (mac_window): Replace WindowPtr with WindowRef.
2469         * macgui.h: Replace WindowPtr with WindowRef.
2471         * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2472         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2473         Replace ControlHandle with ControlRef.
2474         (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
2476         * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2477         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2478         Replace ControlHandle with ControlRef.
2479         (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
2480         [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
2482         * macterm.h (struct scroll_bar): Rename member control_handle_low
2483         and control_handle_high to control_ref_low and control_ref_high.
2484         All uses changed.
2485         (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
2486         SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
2487         respectively.  All uses changed.
2488         (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
2489         (install_window_handler, remove_window_handler): Replace WindowPtr
2490         with WindowRef in externs.
2492 2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
2494         * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
2496 2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
2498         * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
2500         * frame.c (Fmouse_position, Fmouse_pixel_position):
2501         Condition on HAVE_GPM too.
2503         * term.c (term_mouse_highlight): Remove unused variables.
2504         (Fterm_open_connection): Set gpm_zerobased to 1.
2505         (term_mouse_movement, term_mouse_click, handle_one_term_event):
2506         Use zero based co-ordinates.
2507         (handle_one_term_event): Report a drag as mouse movement too.
2509         * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
2511 2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
2513         * image.c (search_image_cache): New function.  Require background
2514         color match if background color is unspecified in the image spec.
2515         (uncache_image, lookup_image): Use it.
2517 2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
2519         * window.c (Fshrink_window): Reflow docstring.
2521 2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
2523         * Version 22.1 released.
2525 2007-06-01  Richard Stallman  <rms@gnu.org>
2527         * xfns.c (x_encode_text): Add GCPRO.
2529 2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2531         * xfns.c (x_set_name_internal): Save encoded name before
2532         x_encode_text in case string data is relocated.
2534 2007-05-31  Richard Stallman  <rms@gnu.org>
2536         * buffer.c (syms_of_buffer): Doc fix.
2538 2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
2540         * sysdep.c (init_sys_modes): Add rather than replace with
2541         O_NONBLOCK.
2543         * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
2544         term_mouse_moveto.
2546         * termhooks.h (term_mouse_moveto): New extern.
2548         * term.c (mouse_face_window): Rename...
2549         (Qmouse_face_window): ...to this.
2550         (term_show_mouse_face, term_clear_mouse_face)
2551         (term_mouse_highlight): Use Qmouse_face_window.
2552         (term_mouse_moveto): New function.
2553         (term_mouse_position): Make it work.
2554         (syms_of_term): Uncomment assignment to mouse_position_hook.
2555         Staticpro Qmouse_face_window.
2557 2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2559         * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
2560         around current_column call.
2562 2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
2564         * xfaces.c (syms_of_xfaces): Delete stray semicolon.
2565         * xdisp.c (next_element_from_buffer):
2566         * window.c (delete_window):
2567         * term.c (term_mouse_highlight):
2568         * msdos.c (getdefdir):
2569         * macterm.c (mac_create_bitmap_from_bitmap_data)
2570         (init_font_name_table):
2571         * fns.c (Fsxhash):
2572         * data.c (Fmake_local_variable):
2573         * ccl.c (ccl_driver): Likewise.
2575 2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2577         * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
2578         Call mac_wakeup_from_rne on window size change.
2580 2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
2582         * image.c (uncache_image): Fix typo.
2584 2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
2586         * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
2588 2007-05-22  Richard Stallman  <rms@gnu.org>
2590         * xterm.c (x_connection_closed): Remove NO_RETURN.
2592 2007-05-22  Martin Rudalics  <rudalics@gmx.at>
2594         * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
2596 2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
2598         * image.c (uncache_image): New function.
2599         (Fimage_refresh): New function.
2601 2007-05-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2603         * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
2605 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2607         * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
2608         * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
2610 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2612         * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
2613         conditional on [HAVE_GPM_H].
2615 2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2617         * syntax.c (skip_chars): Update syntax-table only after we checked that
2618         the new location is valid.
2620 2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2622         * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
2623         mac_get_window_bounds.
2625 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2627         * Makefile.in (LIBGPM): Allow it to be set from configure.
2628         If set then link Emacs with it.
2630         * config.in: Regenerate.
2632         * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
2633         New externs.
2635         * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
2636         Include gpm.h.
2637         (handle_one_term_event, term_gpm): New externs.
2639         * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
2640         and allow it to be interrupted by SIGIO.
2642         * process.c (gpm_wait_mask, max_gpm_desc): New variables.
2643         (wait_reading_process_output): Wait on gpm_fd too.
2644         (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
2645         (add_gpm_wait_descriptor_called_flag): New variable.
2646         (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
2648         * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
2649         (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
2650         (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
2651         Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
2652         (make_lispy_event): Add case GPM_CLICK_EVENT.
2653         (read_avail_input): Handle mouse input.
2655         * term.c (write_glyphs_with_face): New function.
2656         [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
2657         (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
2658         (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
2659         (mouse_face_face_id, term_gpm, pos_x, pos_y)
2660         (last_mouse_x, last_mouse_y): New variables.
2661         (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
2662         (term_mouse_highlight, term_mouse_movement, term_mouse_position)
2663         (term_mouse_click, handle_one_term_event, Fterm_open_connection)
2664         (Fterm_close_connection): New functions.
2665         (term_init): Initialise mouse_face_window.
2667 2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
2669         * xdisp.c (redisplay_window): If first window line is a
2670         continuation line, recompute the new window start instead of
2671         recentering.
2673 2007-05-18  Glenn Morris  <rgm@gnu.org>
2675         * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
2676         Suggested by Alfred M. Szmidt <ams@gnu.org>.
2678 2007-05-17  Glenn Morris  <rgm@gnu.org>
2680         * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
2682 2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2684         * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
2685         dead key repeat and up events.
2687 2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
2689         * image.c (pbm_load): Check image size for monochrome pbm.
2691 2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
2693         * xterm.c (XTread_socket): Revert last change.
2695 2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
2697         * image.c (pbm_load): Correctly check image size for greyscale pbm.
2699         * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
2701 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2703         * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
2704         mixup (YAILOM).
2706 2007-05-07  Andreas Schwab  <schwab@suse.de>
2708         * keymap.c (Flookup_key): Fix typo in last change.
2710 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2712         * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
2713         mapping for unibyte strings.
2715 2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2717         * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
2718         (Fx_popup_dialog) [MAC_OSX]: Likewise.
2720 2007-04-29  Richard Stallman  <rms@gnu.org>
2722         * insdel.c (replace_range): For undo, record insertion first.
2724 2007-04-29  Andreas Schwab  <schwab@suse.de>
2726         * lisp.h (VECSIZE): Use OFFSETOF.
2728 2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2730         * xdisp.c (try_window_reusing_current_matrix): Fix number of
2731         disabled lines.
2733 2007-04-28  Richard Stallman  <rms@gnu.org>
2735         * lread.c (read_escape): In a string, \s is always space.
2737 2007-04-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2739         * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
2741         * gtkutil.c (xg_update_menubar, create_menus): Create empty
2742         submenu for menu bar items.
2744 See ChangeLog.10 for earlier changes.
2746 ;; Local Variables:
2747 ;; coding: iso-2022-7bit
2748 ;; add-log-time-zone-rule: t
2749 ;; End:
2751     Copyright (C) 2007 Free Software Foundation, Inc.
2753   This file is part of GNU Emacs.
2755   GNU Emacs is free software; you can redistribute it and/or modify
2756   it under the terms of the GNU General Public License as published by
2757   the Free Software Foundation; either version 3, or (at your option)
2758   any later version.
2760   GNU Emacs is distributed in the hope that it will be useful,
2761   but WITHOUT ANY WARRANTY; without even the implied warranty of
2762   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2763   GNU General Public License for more details.
2765   You should have received a copy of the GNU General Public License
2766   along with GNU Emacs; see the file COPYING.  If not, write to the
2767   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
2768   Boston, MA 02110-1301, USA.
2770 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40