(struct frame): Move all bit fields after the first bit
[emacs.git] / src / ChangeLog
blob012573bc7601e265ec411623721cfa538921685b
1 2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
3         * frame.h (struct frame): Move all bit fields after the first bit
4         field to take advantage of the available space. Group all the
5         chars together to reduce wasted space due to padding.
7 2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
9         * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
11         * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12         (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13         (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14         (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
15         (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
16         (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
17         (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
18         (last_marked, mark_object_loop_halt): Make static.
20         * frame.c (syms_of_frame) <delete-frame-functions>:
21         Fix typo in docstring.
23 2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
25         * w32.c (init_environment): Fix tiny memory leak.
26         (w32_get_resource): Remove unused variable `ok'.
28 2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
30         Make `window-system' into a keyboard-local variable (rather than
31         frame-local as done originally by multi-tty).
33         * keyboard.h (struct kboard): Add Vwindow_system.
34         * keyboard.c (init_kboard): Set a default for Vwindow_system.
35         (mark_kboards): Mark Vwindow_system.
37         * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
38         (init_display): Don't set the obsolete `window-system' frame-param.
40         * xterm.c (x_term_init):
41         * w32term.c (w32_create_terminal):
42         * term.c (init_tty): Set Vwindow_system.
43         * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
44         multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
46         * xfns.c (Fx_create_frame, x_create_tip_frame):
47         * w32fns.c (Fx_create_frame, x_create_tip_frame):
48         * macfns.c (Fx_create_frame):
49         Don't set the obsolete `window-system' frame-param.
51         * frame.h (Qwindow_system): Remove.
52         * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
53         (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
55 2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
57         * process.c (unwind_request_sigio): Only define if __ultrix__.
59         * callproc.c (child_setup): Remove spurious *.
61         * lisp.h (Fget_text_property): Declare.
62         (have_menus_p): Declare it here rather than in sys-dep header files.
63         * macterm.h (have_menus_p):
64         * msdos.h (have_menus_p):
65         * xterm.h (have_menus_p): Remove.
67         * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
68         (Fmake_variable_frame_local): Just check the variable's const-ness
69         rather than checking nil or t.
71 2007-10-22  Jason Rumney  <jasonr@gnu.org>
73         * w32fns.c: Include math.h.
74         (w32_abort): Declaration moved to nt/config.nt.
76         * s/ms-w32.h (HAVE_STDLIB_H): Define.
77         (abort): Redefinition moved to nt/config.nt.
79         * m/windowsnt.h: Remove.
81 2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
83         * emacs.c (Fdump_emacs): Fix typo in message.
84         (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
85         <installation-directory>: Reflow docstring.
87 2007-10-22  Juri Linkov  <juri@jurta.org>
89         * minibuf.c: Allow minibuffer default to be a list of default values.
90         With empty input use the first element of this list as returned default.
91         (string_to_object)
92         (read_minibuf_noninteractive): If defalt is cons, set val to its car.
93         (read_minibuf): If defalt is cons, set histstring to its car.
94         (Fread_string): If default_value is cons, set val to its car.
95         (Fread_buffer): If def is cons, use its car.
96         (Fcompleting_read): If defalt is cons, set val to its car.
98 2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
100         * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
102 2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
104         * doc.c (Fdocumentation): Check for advice in all cases.
106 2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
108         * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
110 2007-10-19  Richard Stallman  <rms@gnu.org>
112         * doc.c (Fdocumentation): Check for and handle an advised function.
114 2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
116         * process.c (Fset_process_filter): Doc fix.
118 2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
120         * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
121         which caused key-translation-map to applied repeatedly (thus breaking
122         double-mode).
124 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
126         * xselect.c (x_own_selection, x_handle_selection_clear)
127         (x_clear_frame_selections):
128         * w32menu.c (list_of_panes, list_of_items):
129         * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
130         * textprop.c (validate_plist, interval_has_all_properties)
131         (interval_has_some_properties, interval_has_some_properties_list)
132         (add_properties, text_property_list):
133         * process.c (Fget_buffer_process, list_processes_1, status_notify):
134         * minibuf.c (Fassoc_string):
135         * macselect.c (x_own_selection, x_clear_frame_selections)
136         (Fx_disown_selection_internal):
137         * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
138         Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
140 2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
142         * process.c: Link to libs for calling res_init() if available.
143         (Fmake_network_process): Call res_init() before getaddrinfo or
144         gethostbyname, if possible.
146 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
148         * lread.c (read1): Set pvectype for char_tables.
150         * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
151         (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
152         Add type checks.
153         (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
155         * alloc.c (free_misc): Use XMISCTYPE.
156         (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
158 2007-10-17  Glenn Morris  <rgm@gnu.org>
160         * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
161         (syms_of_minibuf): Add Qcompletion_ignore_case.
162         * dired.c (Qcompletion_ignore_case): Change to external.
163         (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
164         * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
165         (Fread_file_name): Use it rather than intern'ing.
167         * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
168         (Fread_coding_system): Ignore case of user input.
170 2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
172         * xdisp.c (handle_display_prop): Ignore display specs after
173         replacing one when string text is being replaced.
174         (handle_single_display_spec): Pretend as if characters with display
175         property haven't been consumed only when buffer text is being replaced.
177 2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
179         * xfns.c (Fx_create_frame, Fx_display_list):
180         * window.c (window_fixed_size_p, enlarge_window)
181         (shrink_window_lowest_first):
182         * macterm.c (init_font_name_table):
183         * macfns.c (Fx_create_frame, Fx_display_list):
184         * lread.c (close_load_descs):
185         * keyboard.c (read_char_x_menu_prompt):
186         * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
187         * coding.c (code_convert_region_unwind): Test the type of an object
188         rather than just !NILP before extracting data from it.
190         * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
192         * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
193         (XMISCANY): New macro.
194         (XMISCTYPE): Use it.
195         (struct Lisp_Misc_Any): New type.
196         (union Lisp_Misc): Use it.
197         (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
198         * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
199         (find_symbol_value, set_internal, default_value, Fset_default)
200         (Fmake_variable_buffer_local, Fmake_local_variable)
201         (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
202         (Flocal_variable_if_set_p, Fvariable_binding_locus):
203         The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
204         * alloc.c (allocate_buffer): Set the size and tag.
205         (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
206         Use XMISCANY.
207         (die): Follow the GNU convention for error messages.
208         * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
209         * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
210         tag any more.
211         (set_buffer_internal_1):
212         * frame.c (store_frame_param):
213         * eval.c (specbind):
214         * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
216         * doc.c (Fsnarf_documentation): Simplify.
218 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
220         * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
221         (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
223 2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
225         * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
227 2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
229         * eval.c (do_autoload): Don't save autoloads.
231         * data.c (Ffset): Save autoload of the function being set.
233 2007-10-07  John Paul Wallington  <jpw@pobox.com>
235         * xfns.c (x_create_tip_frame): Set the `display-type' frame
236         parameter before setting up faces.
238 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
240         * ccl.c (Fregister_code_conversion_map):
241         * keyboard.c (append_tool_bar_item): Reformat last change.
243         * lisp.h (eabs): Rename from `abs'.  All callers changed.
245 2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
247         * buffer.c (add_overlay_mod_hooklist):
248         * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
249         * fontset.c (make_fontset):
250         * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
251         (append_tool_bar_item):
252         * macmenu.c (grow_menu_items):
253         * w32menu.c (grow_menu_items):
254         * xmenu.c (grow_menu_items): Use larger_vector.
256 2007-10-13  Eli Zaretskii  <eliz@gnu.org>
258         * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
259         selected frame'' on MSDOS).
261 2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
263         * macfns.c (x_create_tip_frame): Set terminal for frame.
265 2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
267         * frame.c (Qenvironment): Remove.
268         (syms_of_frame) <Qenvironment>: Don't initialize.
269         (Fdelete_frame): Don't treat the `environment' param specially.
270         * frame.h (Qenvironment): Don't declare.
271         * callproc.c (set_initial_environment): Don't set unused frame param.
273         * frame.c (Fframe_with_environment): Remove.
274         (syms_of_frame) <Sframe_with_environment>: Don't declare.
276         * lisp.h (Fframe_with_environment): Don't declare.
278 2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
280         * indent.c (indent_tabs_mode, last_known_column)
281         (last_known_column_modified): Make static.
282         (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
284 2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
286         * puresize.h (BASE_PURESIZE): Increase to 1170000.
288 2007-10-09  Richard Stallman  <rms@gnu.org>
290         * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
291         return HANDLED_RETURN.
293 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
295         * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
296         when there's an unread command event.
298         * frame.c (focus_follows_mouse): Move here from frame.el to allow
299         window autoselection act appropriately when leaving selected frame.
300         (syms_of_frame): Initialize focus_follows_mouse.
301         * frame.h (focus_follows_mouse): Extern it.
302         * macterm.c (XTread_socket): When focus_follows_mouse is nil
303         make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
304         * msdos.c (dos_rawgetc): Likewise.
305         * w32term.c (w32_read_socket): Likewise.
306         * xterm.c (handle_one_xevent): Likewise.
307         * xdisp.c (syms_of_xdisp): In doc-string of
308         mouse-autoselect-window mention focus-follows-mouse.
310 2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
312         * macterm.c (mac_load_query_font): Fix missing return value.
313         [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
314         Add BLOCK_INPUT.
316 2007-10-08  Richard Stallman  <rms@gnu.org>
318         * xdisp.c (get_window_cursor_type): Implement documented behavior
319         for cursor-in-non-selected-windows = t.
321 2007-10-08  Jason Rumney  <jasonr@gnu.org>
323         * w32.c (w32_get_resource): Always close registry keys.
325 2007-10-08  Jason Rumney  <jasonr@gnu.org>
327         * makefile.w32-in (LIBS): Add COMCTL32.
329         * w32fns.c (globals_of_w32fns): Init common controls.
331 2007-10-08  Richard Stallman  <rms@gnu.org>
333         * image.c (our_memory_buffer): Rename from omfib_buffer.
335 2007-10-08  Richard Stallman  <rms@gnu.org>
337         * buffer.c (Foverlays_at): Doc fix.
339 2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
341         * fns.c (Fplist_put): Preserve uneven tail data.
343 2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
345         * termhooks.h (enum event_kind): Remove trailing comma.
347         * frame.h (enum): Remove trailing comma.
349 2007-10-08  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
351         * w32proc.c (delete_child): Don't terminate threads of zombies.
353 2007-10-08  Martin Rudalics  <rudalics@gmx.at>
355         * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
357         * keyboard.c (syms_of_keyboard): Set up new Lisp variable
358         last-repeatable-command.
359         (init_kboard): Initialize Vlast_repeatable_command.
360         (command_loop_1): Set it to real_this_command unless that was
361         bound to an input event.
362         (mark_kboards): Mark it.
364 2007-10-08  Richard Stallman  <rms@gnu.org>
366         * eval.c (condition-case): Doc fix.
368 2007-10-08  Masatake YAMATO  <jet@gyve.org>
370         * xfaces.c (tty_supports_face_attributes_p): Fix code
371         for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
372         was copied and not edited.
374 2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
376         Add new `input-decode-map' keymap and use it for terminal
377         escape sequences.
378         * keyboard.h (struct kboard): Add Vinput_decode_map.
379         Remove Vlocal_key_translation_map.
380         * keyboard.c (read_key_sequence): Add support for input-decode-map.
381         (init_kboard): Init input-decode-map.
382         Replace local-key-translation-map back with key-translation-map.
383         (syms_of_keyboard): Declare input-decode-map.
384         Remove local-key-translation-map.  Update docstrings.
385         (mark_kboards): Mark Vinput_decode_map.
386         Don't mark Vlocal_key_translation_map.
387         * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
388         Replace local-key-translation-map back with key-translation-map.
389         * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
390         Bind in input-decode-map rather than function-key-map.
392         * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
393         This was made redundant by the previous introduction of XSETPVECTYPE.
395 2007-10-09  Richard Stallman  <rms@gnu.org>
397         * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
399 2007-09-29  Richard Stallman  <rms@gnu.org>
401         * eval.c (internal_condition_case_2, internal_condition_case_1)
402         (internal_condition_case): Reenable abort if x_catching_errors ()
403         to see if that really happens and why.
405 2007-10-06  Andreas Schwab  <schwab@suse.de>
407         * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
409 2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
411         * image.c (syms_of_image) <image-types>: Fix typo in docstring.
413 2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
415         * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
417 2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
419         * window.h (struct window):
420         * window.c (struct save_window_data, struct saved_window):
421         * termhooks.h (struct terminal):
422         * process.h (struct Lisp_Process):
423         * frame.h (struct frame):
424         * buffer.h (struct buffer):
425         * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
426         (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
427         The size field of (pseudo)vectors is now unsigned.
428         (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
430         * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
431         Turn `count' into an integer.
433         * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
434         (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
435         * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
436         * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
437         (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
439         * alloc.c (allocate_pseudovector): New fun.
440         (ALLOCATE_PSEUDOVECTOR): New macro.
441         (allocate_window, allocate_terminal, allocate_frame)
442         (allocate_process): Use it.
443         (mark_vectorlike): New function.
444         (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
445         (mark_terminals): Use it.
446         (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
447         (Fmake_byte_code): Use XSETPVECTYPE.
449         * frame.c (Fframe_parameters): Minor simplification.
451         * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
453         * marker.c (Fmarker_buffer): Make test for odd case into a failure.
455         * buffer.c (Fget_buffer_create, init_buffer_once):
456         * lread.c (defsubr):
457         * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
459         * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
460         defined differently in the m/*.h files.
461         (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
462         (XSETPVECTYPE): New macro.
463         (XSETPSEUDOVECTOR): Use it.
465         * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
466         (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
468         * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
469         * lread.c (defvar_per_buffer):
470         * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
472         * window.c (candidate_window_p): Only consider as visible frames that
473         are on the same terminal.
475         * m/ibms390x.h (MARKBIT): Remove unused macro.
477 2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
479         * lread.c (Fload): Fix typo in docstring.
481 2007-10-01  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
483         * floatfns.c (Fexpt): Manually check for overflows, so that a power
484         of a non-zero value can't yield zero.
486 2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
488         * term.c (term_clear_mouse_face, term_mouse_highlight)
489         (tty_write_glyphs_with_face): Only define is HAVE_GPM.
491         * print.c (safe_debug_print): Use XHASH.
493         * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
494         Lisp elements such as tags.
495         (XHASH): New macro.
496         (EQ): Use it.
497         (SREF, SSET, STRING_COPYIN): Use SDATA.
498         (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
500         * alloc.c (mark_terminal): Remove left-over declaration.
501         (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
502         (allocate_vectorlike): Remove type argument.  Adjust callers.
503         (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
504         Only handle the one remaining MEM_TYPE_VECTORLIKE.
506         * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
507         to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
508         (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
509         (lisp_align_free, make_interval, allocate_string, allocate_string_data)
510         (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
511         Use them.
513         * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
514         Don't let signal handlers run when a GC is freed but not yet NULL'ed.
515         (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
517 2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
519         * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
520         loaded by default.
522 2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
524         * term.c (Fgpm_mouse_start): Don't signal an error if already activated
525         on this tty.
526         (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
528         * term.c (mouse_face_window): Rename from Qmouse_face_window.
529         Update all users.
530         (handle_one_term_event): Use Gpm_DrawPointer.
531         (Fgpm_mouse_start): Rename from Fterm_open_connection.
532         Signal errors instead of returning nil.  Always return nil.
533         (Fgpm_mouse_stop): Rename from Fterm_close_connection.
534         Make it a noop if gpm-mouse was not activated.
535         (syms_of_term): Update names.
537 2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
539         * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
540         (init_sys_modes): Check that gpm_tty is the current tty.
542         * alloc.c (allocate_terminal): Set the vector size to only count the
543         lisp fields.  Initialize those to nil.
544         (mark_object): Don't treat terminals specially.
545         (mark_terminal): Remove.
546         (mark_terminals): Use mark_object instead.
548         * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
549         the GC to the beginning.
551         * indent.h:
552         * indent.c: Use EMACS_INT for ints coming from Elisp data.
554         * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
556 2007-09-25  Jason Rumney  <jasonr@gnu.org>
558         * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
560         * w32console.c (create_w32cons_output): Remove.
562         * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
564         * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
565         (reset_sys_modes): Use reset_terminal_modes_hook.
567 2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
569         * eval.c (do_autoload): Don't output any message.
571 2007-09-24  Juri Linkov  <juri@jurta.org>
573         * emacs.c (standard_args): Change priority of "--no-splash"
574         from 40 to 3.  Add "--no-desktop" with the same priority.
576 2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
578         * alloc.c (gc_sweep): Check cons cell mark bits word by word
579         and optimize the case where they are all 1.
581 2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
583         * lisp.h (abs): Define if not defined.
584         * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
585         Don't define `abs', since it's defined in lisp.h.
587 2007-09-22  Eli Zaretskii  <eliz@gnu.org>
589         * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
590         (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
591         (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
592         (init_tty): Use DEV_TTY instead of "/dev/tty".
593         [WINDOWSNT]: No need to protect from NAME arg being null.
595 2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
597         * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
598         up the tty state.
600 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
602         * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
603         (gpm_tty): Change its type.
604         * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
605         (gpm_tty): Change its type and initialize it.
606         (Fterm_open_connection): Check the frame is indeed a tty.
607         Use the new gpm_tty.
608         (Fterm_close_connection): Use the new gpm_tty.
609         * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
610         * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
612 2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
614         * w32term.c (x_draw_glyph_string): Use strike_through_color, not
615         underline_color, to draw strike-through.
617 2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
619         * lisp.h (allocate_terminal): Declare.
621         * window.c (candidate_window_p): Consider frames that are being placed
622         by the user as somewhere between visible and iconified.
623         (window_loop): Prefer windows on the current frame.
624         (Fselect_window): Move the use of select-frame to the beginning so we
625         can just delegate all the work (it'll call us back anyway).
627         * frame.c (Qdisplay_environment_variable):
628         * frame.h (Qdisplay_environment_variable): Delete.
630         * .gdbinit (xbacktrace): Print the arg's address rather than the value
631         of the first arg, since that value may be a union.
633         * callproc.c (child_setup, getenv_internal): Use the frame's `display'
634         parameter rather than Qdisplay_environment_variable.  If all else
635         fails, look for DISPLAY in initial-environment.
637 2007-09-21  Glenn Morris  <rgm@gnu.org>
639         * Makefile.in (emacstool): Remove target.
640         (lisp, shortlisp): Remove termdev.elc.
642 2007-09-21  Markus Triska  <markus.triska@gmx.at>
644         * xterm.c (x_delete_display): Compile session management conditionally.
646 2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
648         * callproc.c (getenv_internal_1): New function.
649         (getenv_internal): Use it.
650         (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
652         * terminal.c (get_terminal): Don't accept ints to represent terminals.
653         (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
654         (Fset_terminal_parameter): Work with dead terminals as well.
655         (Fmodify_terminal_parameters): Remove.
657         * terminal.c (get_terminal): Handle terminals.
658         Make sure the terminal returned is live.
659         (create_terminal): Use allocate_terminal.
660         (mark_terminals): Move to alloc.c.
661         (delete_terminal): Use terminal->name as liveness status.
662         NULL out fields after freeing their contents.
663         Don't deallocate the object.
664         (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
665         rather than an int.
666         (Fterminal_live_p): Accept non-integer arguments.
667         (Fterminal_list): Return terminal objects rather than an ints.
669         * alloc.c (enum mem_type): New member for `terminal' objects.
670         (allocate_terminal): New function.
671         (mark_maybe_pointer, valid_lisp_object_p, mark_object):
672         Handle terminals.
673         (mark_terminal): New fun.
674         (mark_terminals): Move from terminal.c.
676         * term.c (get_tty_terminal): Don't treat output_initial specially.
677         (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
678         (delete_tty): Use terminal->name as liveness status.
680         * termhooks.h (struct terminal): Make it into a pseudovector.
681         Remove `deleted' replaced by checking `name's nullness.
683         * print.c (print_object): Handle terminals.
685         * lisp.h (enum pvec_type): New `terminal' pseudovector.
686         (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
688         * frame.c (make_terminal_frame):
689         * keyboard.c (tty_read_avail_input):
690         * w32term.c (x_delete_terminal):
691         * xfns.c (Fx_create_frame, x_create_tip_frame):
692         * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
694 2007-09-20  Glenn Morris  <rgm@gnu.org>
696         * process.c (Fmake_network_process): Doc fix.
698 2007-09-19  Jason Rumney  <jasonr@gnu.org>
700         * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
702 2007-09-19  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
704         * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
705         Fix a C warning regarding variable constness.
707         * xterm.c (handle_one_xevent): Fix a C warning.
709 2007-09-18  Jason Rumney  <jasonr@gnu.org>
711         * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
713 2007-09-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
715         * gtkutil.c (gdpy_def): New variable.
716         (xg_initialize): Initialize gdpy_def.
717         (xg_display_close): If no other display exists, set gdpy_def to a
718         new connection.
720 2007-09-16  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
722         * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
723         when we have no file name for the icon.
724         (xg_tool_bar_expose_callback): Remove.
725         (xg_create_tool_bar): Don't connect expose signal to
726         xg_tool_bar_expose_callback.
727         (xg_get_file_with_chooser): Move GCPRO1 after declarations.
729 2007-09-16  Andreas Schwab  <schwab@suse.de>
731         * alloc.c (reset_malloc_hooks): Set the hooks to the previous
732         values instead of zapping them.
734 2007-09-14  Glenn Morris  <rgm@gnu.org>
736         * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
737         * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
738         * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
739         scope and rename to omfib_buffer for clarity.
740         (gif_load) <interlace_start, interlace_increment>: Move to file scope.
742 2007-09-14  Kenichi Handa  <handa@m17n.org>
744         * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
746 2007-09-13  Jason Rumney  <jasonr@gnu.org>
748         * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
750         * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
752         * macterm.c (mac_initialize): Don't call mac_init_fringe here.
753         (mac_term_init): Call here instead, passing rif.
755 2007-09-13  Glenn Morris  <rgm@gnu.org>
757         * s/hpux.h: No longer define `static' as nothing.
759 2007-09-13  Johan Bockg\e,Ae\e(Brd  <bojohan@gnu.org>
761         * callint.c (Fcall_interactively): Remove unused var `fun'.
763 2007-09-12  Romain Francoise  <romain@orebokech.com>
765         * window.c (prefer_window_split_horizontally, display_buffer):
766         Revert 2007-09-08 change.
768 2007-09-12  Glenn Morris  <rgm@gnu.org>
770         * alloca.c: Remove file.
771         * Makefile.in (alloca): Do not undef.
772         (allocaobj, alloca.o): Remove.
773         (otherobj): Remove allocaobj.
774         * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
775         * regex.c (C_ALLOCA): Remove all references and code that was only
776         used when this was defined.
777         * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
778         * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
779         * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
781         * Makefile.in (SOURCES, unlock, relock): Delete.
783         * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
784         (menu_grab_callback): All uses changed.
786         * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
787         (x_reply_selection_request): All uses changed.
789 2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
791         * lread.c (load_warn_old_style_backquotes): Change message to look
792         better when it appears in the middle of byte-compiler messages.
794 2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
796         * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
798         * xterm.c (x_create_terminal): Add comment.
800         * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
802 2007-09-10  Richard Stallman  <rms@gnu.org>
804         * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
806 2007-09-10  Micha\e,Ak\e(Bl Cadilhac  <michael@cadilhac.name>
808         * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
809         (DEFUN): Document `intspec', use it instead of `prompt'.
811         * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
813         * data.c (Finteractive_form): If the interactive specification starts
814         with a `(', use it as a Lisp form.
816         * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
817         name and file modes.
819         * callint.c (Fcall_interactively): Comment fixes.
821 2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
823         * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
824         and compiled functions.
826 2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
828         * window.c (prefer_window_split_horizontally): New variable.
829         (display_buffer): Consider splitting window horizontally depending
830         on prefer_window_split_horizontally.
832 2007-09-08  Eli Zaretskii  <eliz@gnu.org>
834         * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
836 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
838         * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
840         * frame.c (x_set_frame_parameters): Check number is positive before
841         using XFASTINT.
843         * window.c (freeze_window_start): Don't presume selected_window holds
844         a window object.
845         (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
847 2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
849         * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
851 2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
853         * window.c (Vsplit_window_preferred_function): New var.
854         (Fdisplay_buffer): Use it.
855         (syms_of_window): Export, and initialize it.
857 2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
859         * image.c (gif_load): Fix bug: Handle nonexistent colormap.
861 2007-09-06  Glenn Morris  <rgm@gnu.org>
863         * gtkutil.c (menu_grab_callback) <cnt>:
864         * xselect.c (x_reply_selection_request) <cnt>: Move static
865         variable to file scope.
867 2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
869         * xdisp.c (redisplay_internal): Make sure Elisp code always sees
870         consistent values of selected_frame and selected_window.
872 2007-09-04  Jason Rumney  <jasonr@gnu.org>
874         * w32console.c (initialize_w32_display): Zero unused hooks.
876 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
878         * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
879         (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
881 2007-09-04  Jason Rumney  <jasonr@gnu.org>
883         * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
884         in w32console.c.  Set up input.  Remove XXX comments that have been
885         confirmed as correct.
887         * s/ms-w32.h (MULTI_KBOARD): Define.
889         * w32console.c (one_and_only_w32cons): Remove.
890         (initialize_w32_display): Take terminal argument.
892         * term.c (init_tty) [WINDOWSNT]: Pass terminal to
893         initialize_w32_display.
894         (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
896         * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
898         * keyboard.c (discard_mouse_events): Discard it.
899         (make_lispy_event): Translate it to a lisp event.
900         (lispy_wheel_names): Add wheel-left and right events.
901         (syms_of_keyboard): Enlarge wheel_syms.
903         * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
904         <WM_MOUSEHWHEEL>: Pass new system message to lisp.
906         * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
908         * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
909         from WM_MOUSEHWHEEL.
910         (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
912         * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
913         terminal.
915         * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
916         keyboard for the terminal.
918 2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
920         * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
921         (Vresume_tty_hook): Rename from Vresume_tty_functions.
922         (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
923         and resume-tty-function to resume-tty-hook.
924         (Fsuspend_tty, Fresume_tty): Use new names.
926 2007-09-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
928         * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
929         if it starts with "n:".
931 2007-08-31  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
933         * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
935 2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
937         * frame.h:
938         * frame.c (Qterm_environment_variable): Remove.
939         (syms_of_frame): Don't init and staticpro it.
941         * callproc.c (getenv_internal): Remove special case for $TERM.
943         * callproc.c (Vinitial_environment): New variable.
944         (set_initial_environment): Initialize it.
945         (syms_of_callproc): Declare it.
946         (child_setup): Don't mess with TERM via Qterm_environment_variable; the
947         TERM under which a process runs is never related to the TERM in which
948         Emacs is running.
950 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
952         * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
953         * s/darwin.h: ... do it here.
955 2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
957         * lisp.h (set_initial_environment): Rename from set_global_environment.
959         * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
960         removed by mistake on the multi-tty branch.
962         * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
963         (Fmodify_frame_parameters): Return a value.
965         * image.c (png_load): Comment-out var only used in commented-out code.
967         * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
968         before passing it to mark_object.
970         * xfaces.c (internal_resolve_face_name): Return a value.
971         (internal_resolve_face_name, resolve_face_name_error): Comment out.
973         * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
974         (x_icon): Comment-out var only used in commented-out code.
976 2007-08-29  Romain Francoise  <romain@orebokech.com>
978         * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
979         QUIT hasn't been provided.
981 2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
983         * callproc.c (child_setup, getenv_internal): Use the
984         display-environment-variable and term-environment-variable frame
985         params.
986         (set_initial_environment): Initialise Vprocess_environment.
988         * config.in: Disable multi-keyboard support on a mac.
990         * frame.c (Qterm_environment_variable)
991         (Qdisplay_environment_variable): New variables.
992         (syms_of_frame): Intern and staticpro them.
993         (Fmake_terminal_frame): Disable output method test.
995         * frame.h: Declare them here.
997         * macfns.c (x_set_mouse_color): Get rif from the frame.
998         (x_set_tool_bar_lines): Don't use updating_frame.
999         (mac_window): Add 2 new parameters for consistency with other systems.
1000         (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
1001         frame parameters following what is done in X11 and w32.  Don't use
1002         FRAME_MAC_DISPLAY_INFO.
1003         (Fx_open_connection, start_hourglass): Remove window-system check.
1004         (x_create_tip_frame): Get the keyboard from the terminal.
1006         * macmenu.c: Reorder includes.
1007         (Fx_popup_menu): Use terminal specific mouse_position_hook.
1009         * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
1010         terminal parameter.
1011         (x_clear_frame): Add a frame parameter.
1012         (note_mouse_movement): Get rif from the frame.
1013         (mac_term_init): Initialize the terminal.
1014         (mac_initialize): Make static and move terminal initialization ...
1015         (mac_create_terminal): ... to this new function.
1017         * macterm.h (struct mac_display_info): Add terminal.
1018         (mac_initialize): Delete declaration.
1020         * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
1022         * sysdep.c: Comment out text after #endif.
1024         * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
1025         is defined.  Better initialize ttys in windows.  Use terminal
1026         specific mouse_position_hook.
1028         * termhooks.h (union display_info): Add mac_display_info.
1030         * w32fns.c (Fx_create_frame): Use kboard from the terminal.
1031         Set the default minibuffer frame, window_system and the rest of the
1032         frame parameters following what is done in X11.
1034         * w32term.c (w32_initialize): Make static.
1036         * xselect.c (x_handle_selection_clear): Only access
1037         terminal->kboard when MULTI_KBOARD is defined.
1039         * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
1040         (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
1042 2007-08-29  Jason Rumney  <jasonr@gnu.org>
1044         * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
1045         (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
1047         * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
1048         (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
1050         * keyboard.c (restore_kboard_configuration): Only define when
1051         MULTI_KBOARD defined.
1053         * makefile.w32-in: Update dependancies from Makefile.in.
1054         (OBJ1): Add terminal.$(O)
1056         * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
1057         Don't define function body.
1058         (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
1060         * termhooks.h (display_info) [WINDOWSNT]: Add w32.
1062         * w32.c (request_sigio, unrequest_sigio): Remove.
1064         * w32console.c (w32con_move_cursor, w32con_clear_to_end)
1065         (w32con_clear_frame, w32con_clear_end_of_line)
1066         (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
1067         (w32con_delete_glyphs, w32con_set_terminal_window)
1068         (scroll_line, w32_sys_ring_bell): Add frame arg.
1069         (w32con_set_terminal_modes, w32con_reset_terminal_modes):
1070         Add terminal arg.
1071         (PICK_FRAME): Remove.
1072         (w32con_write_glyphs): Use frame specific terminal coding.
1073         (one_and_only_w32cons): New global variable.
1074         (initialize_w32_display): Use it for storing hooks.
1075         (create_w32cons_output): New function.
1077         * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
1078         arg a frame.
1080         * w32fns.c (x_create_tip_frame): Set terminal and ref count.
1081         Set window_system.
1082         (x_set_tool_bar_lines): Don't use updating_frame.
1083         (Fx_create_frame): Set terminal and ref count.
1084         (Fx_open_connection): Remove window-system check.
1086         * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
1088         * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
1089         (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
1090         (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
1091         Add frame arg.
1092         (x_delete_terminal, w32_create_terminal): New functions.
1093         (w32_term_init): Create a terminal.
1094         (w32_initialize): Move terminal specific initialization to
1095         w32_create_terminal.
1097         * w32term.h (x_output): Remove foreground_pixel and background_pixel.
1098         (w32_clear_rect, w32_clear_area): Use background from frame.
1099         (w32_display_info): Add terminal.
1100         (w32_sys_ring_bell, x_delete_display): Declare here.
1102         * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
1104         * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
1106 2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
1108         * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
1109         Fix get_named_tty calls for the controlling tty.
1111 2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
1113         * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
1115 2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
1117         * term.c (tty_insert_glyphs): Add missing first parameter.
1119 2007-08-29  K\e,Aa\e(Broly L\e$,1 q\e(Brentey  <karoly@lorentey.hu>
1121         * buffer.c (Fbuffer_list, Fbury_buffer):
1122         Take frame->buried_buffer_list into account.
1124         * cm.c (current_tty): New variable, for cmputc().
1125         (cmputc): Use it.
1126         (cmcheckmagic): Add tty parameter, look up terminal streams there.
1127         (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
1128         (cmgoto): Add tty parameter.  Pass it on to calccost().
1129         Use emacs_tputs() instead of tputs().
1131         * cm.h (emacs_tputs): New macro to set current_tty, and then call
1132         tputs().
1133         (current_tty): New variable, for cmputc().
1134         (cmcheckmagic, cmputc, cmgoto): Add prototypes.
1136         * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
1137         (internal_condition_case, internal_condition_case_1)
1138         (internal_condition_case_2): Don't abort when x_catching_errors.
1140         * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
1141         (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
1142         prevent crashes caused by bogus longjmps in read_char.
1144         * keymap.h (Fset_keymap_parent): Add EXFUN.
1146         * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
1147         * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1148         Remove redundant definition.
1150         * macfns.c (x_set_mouse_color, x_make_gc):
1151         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1153         * w32term.c (x_free_frame_resources):
1154         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1155         (w32_initialize): Use the accessor macros for terminal characteristics.
1157         * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
1158         Use the accessor macros for terminal characteristics.
1159         * msdos.c (internal_terminal_init): Use the accessor macros for
1160         terminal characteristics.
1161         (ScreenVisualBell, internal_terminal_init):
1162         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1164         * termopts.h (no_redraw_on_reenter): Declare.
1166         * alloc.c (emacs_blocked_malloc): Disable mallopt call.
1167         (mark_terminals, mark_ttys): Declare.
1168         (Fgarbage_collect): Call them.
1169         (mark_object): Mark buried_buffer_list.
1171         * prefix-args.c: Include stdlib.h for exit.
1173         * syssignal.h: Add comment.
1175         * indent.c: Include stdio.h.
1177         * window.h (Vinitial_window_system): Declare.
1178         (Vwindow_system): Delete declaration.
1180         * fontset.c (Finternal_char_font): Use FRAME_RIF.
1182         * image.c (lookup_image): Don't initialize `c' until the xasserts
1183         have been run.
1185         * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
1186         FRAME_FOREGROUND_PIXEL.
1188         * print.c (print_preprocess): Don't lose print_depth levels while
1189         iterating.
1191         * widget.c (update_from_various_frame_slots):
1192         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1194         * window.c (set_window_buffer): Don't call clear_mouse_face on tty
1195         frames.
1196         (window_internal_height): Remove bogus make_number call.
1197         (init_window_once): Call make_terminal_frame with two zero parameters.
1199         * fileio.c (Fread_file_name): Update comment.
1201         * callint.c (Fcall_interactively):
1202         Use temporarily_switch_to_single_kboard instead of single_kboard_state.
1203         Make sure it is correctly unwound.
1205         * xsmfns.c (x_session_close): New function.
1207         * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
1208         Delete declarations.
1210         * xterm.h: Remove declaration for x_fully_uncatch_errors.
1211         (x_output): Remove background_pixel and foreground_pixel fields.
1212         (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
1213         (x_delete_device):
1214         (x_session_close): Declare.
1216         * lread.c: Include setjmp.h.  Update declaration of `read_char'.
1217         (read_filtered_event): Call `read_char' with a local
1218         `wrong_kboard_jmpbuf'.
1220         * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
1221         Don't call single_kboard_state.  Use FRAME_RIF.
1223         * process.c (Fmake_network_process): Don't unrequest_sigio on modern
1224         systems.
1226         * lisp.h (set_process_environment): Rename to `set_global_environment'.
1227         (Fframe_with_environment, Fset_input_meta_mode)
1228         (Fset_quit_char): EXFUN.
1229         (x_create_device, tty_output, terminal, tty_display_info): Declare.
1230         (init_sys_modes, reset_sys_modes): Update prototypes.
1231         (init_all_sys_modes, reset_all_sys_modes): New prototypes.
1233         * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
1234         Vlocal_key_translation_map, and Vkeyboard_translate_table.
1235         (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
1236         Delete declarations.
1237         (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
1238         (temporarily_switch_to_single_kboard, tty_read_avail_input):
1239         New declarations.
1241         * emacs.c (main): Don't call init_sys_modes(), the new term_init()
1242         already does that during init_display().  Call syms_of_keymap
1243         before syms_of_keyboard.  Call `syms_of_terminal'.
1244         Call set_initial_environment, not set_process_environment.
1245         (shut_down_emacs): Call reset_all_sys_modes() instead of
1246         reset_sys_modes().
1248         * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
1249         (internal_resolve_face_name, resolve_face_name_error): New functions.
1250         (resolve_face_name): Protect against loops and errors thrown by Fget.
1251         (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
1252         (Ftty_supports_face_attributes_p): Update tty_capable_p call.
1254         * scroll.c: Replace CURTTY() with local variables throughout the
1255         file (where applicable).
1256         (calculate_scrolling, calculate_direct_scrolling)
1257         (scrolling_1, scroll_cost): Use the accessor macros for terminal
1258         characteristics.
1260         * keymap.c (Vfunction_key_map): Remove.
1261         (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
1262         (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
1263         (Vkey_translation_map): Remove.
1264         (syms_of_keymap): Remove DEFVAR for key-translation-map.
1265         (Fdescribe_buffer_bindings):
1266         (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
1267         Update for terminal-local key-translation-map.
1269         * Makefile.in (callproc.o): Update dependencies.
1270         (lisp, shortlisp): Add termdev.elc.
1271         (obj): Add terminal.o.
1272         (terminal.o): Add dependencies.
1273         [HAVE_CARBON]: Make terminal.o depend on macgui.h.
1274         (data.o, fns.o): Add termhooks.h dependency.
1275         (SOME_MACHINE_LISP): Add dnd.elc.
1276         (minibuf.o): Fix typo.
1277         Update dependencies.
1279         * data.c (do_symval_forwarding, store_symval_forwarding)
1280         (find_symbol_value): Use the selected frame's keyboard, not
1281         current_kboard.
1283         * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
1284         Vwindow_system.
1286         * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
1287         Fmenu_bar_open.
1288         (syms_of_xmenu): Update defsubr.
1289         (mouse_position_for_popup, Fx_popup_menu)
1290         (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
1291         (set_frame_menubar, free_frame_menubar)
1292         (create_and_show_popup_menu, xmenu_show, )
1293         (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
1294         an X frame.
1296         * xselect.c (x_own_selection): Abort if not an X frame.
1297         (some_frame_on_display): Check if it is an X frame.
1298         (x_handle_selection_clear): Deal with MULTI_KBOARD.
1300         * coding.c: Include frame.h and termhooks.h.
1301         (terminal_coding, keyboard_coding): Delete.
1302         (Fset_terminal_coding_system_internal):
1303         (Fset_keyboard_coding_system_internal):
1304         (Fkeyboard_coding_system):
1305         (Fterminal_coding_system): Add a terminal parameter.
1306         Get terminal_coding from the terminal.
1307         (init_coding_once): Don't call setup_coding_system here.
1309         * dispextern.h (set_scroll_region, turn_off_insert)
1310         (turn_off_highlight, background_highlight, clear_end_of_line_raw)
1311         (tty_clear_end_of_line, tty_setup_colors)
1312         (delete_tty, updating_frame)
1313         (produce_special_glyphs, produce_glyphs, write_glyphs)
1314         (insert_glyphs): Remove.
1315         (raw_cursor_to, clear_to_end, tty_turn_off_insert)
1316         (tty_turn_off_highlight, get_tty_size): Add declaration.
1317         (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
1319         * frame.h (enum output_method): Add output_initial.
1320         (struct x_output): Delete.
1321         (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
1322         Access foreground_pixel and background_pixel directly from the frame.
1323         (tty_display): Delete.
1324         (struct frame): Add buried_buffer_list, foreground_pixel,
1325         background_pixel and terminal.  Delete kboard
1326         (union output_data): Add tty.
1327         (FRAME_KBOARD): Get the kboard from the terminal.
1328         (FRAME_INITIAL_P): New macro.
1329         (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
1330         (Qterm_environment_variable, Qdisplay_environment_variable)
1331         (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
1332         New declarations.
1334         * termchar.h (tty_output, tty_display_info): New structures.
1335         (tty_list): Declare.
1336         (FRAME_TTY, CURTTY): New macros.
1337         (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
1338         (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
1339         (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
1340         (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
1342         * callproc.c: Include frame.h and termhooks.h, for terminal
1343         parameters.
1344         (add_env): New function.
1345         (child_setup): Use it.
1346         (child_setup, getenv_internal): Handle the new Vprocess_environment.
1347         (getenv_internal): Fix get_terminal_param call.
1348         (Fgetenv_internal, egetenv): Update doc.
1349         (syms_of_callproc): Initialize Vprocess_environment to nil.
1350         Register and initialize them.  Remove obsolete defvars.  Update doc
1351         strings.
1352         (child_setup): Handle Vlocal_environment_variables.
1353         (getenv_internal): Add terminal parameter.
1354         Handle Vlocal_environment_variables.
1355         (Fgetenv_internal): Add terminal parameter.
1356         (child_setup, getenv_internal, Fgetenv_internal): Store the local
1357         environment in a frame (not terminal) parameter.  Update doc strings.
1358         (set_initial_environment): Rename from set_global_environment.
1359         Store Emacs environment in initial frame parameter.
1361         * xdisp.c (redisplay_internal): Update references to
1362         `previous_terminal_frame'.
1363         (display_mode_line, Fformat_mode_line): Replace calls to
1364         `push_frame_kboard' with `push_kboard'.
1365         (get_glyph_string_clip_rects): Add extra parentheses and
1366         braces to prevent compiler warnings.
1367         (calc_pixel_width_or_height): Add xassert to check that the
1368         frame is alive.  Don't call `lookup_image' on a termcap frame.
1369         (message2_nolog, message3_nolog, redisplay_internal)
1370         (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
1371         (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
1372         (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
1373         (Fx_display_pixel_width, Fx_display_pixel_height)
1374         (Fx_display_planes, Fx_display_color_cells)
1375         (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
1376         (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
1377         (Fx_display_backing_store, Fx_display_visual_class)
1378         (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
1379         Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
1381         * xfns.c (x_set_foreground_color x_set_background_color)
1382         (x_set_mouse_color, x_set_cursor_color, x_make_gc):
1383         Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
1384         (Fx_create_frame, x_create_tip_frame, build_string, x_window)
1385         (Fx_create_frame, x_create_tip_frame): Don't create frames on a
1386         terminal that is being deleted.
1387         (Fx_create_frame): Use `store_frame_param' to set `window-system'
1388         frame parameter, and make sure it overrides any user-supplied setting.
1389         (Fx_close_connection, Fx_synchronize): Unify argument names with
1390         the rest of the DEFUNs.
1392         * dispnew.c (Fsend_string_to_terminal): Update call to
1393         `get_tty_terminal'.
1394         (Fredraw_frame, Fsend_string_to_terminal)
1395         (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
1396         FRAME_TERMCAP_P and FRAME_TTY.
1397         (window_change_signal): Don't believe width/height values that are
1398         impossibly small.
1399         (Vinitial_window_system): Rename from Vwindow_system.
1400         (termscript, Wcm, rif): Delete.
1402         * termhooks.h (struct terminal): New struct containing the
1403         previously global text display hooks and new members NAME,
1404         DELETED and PARAM_ALIST.
1405         (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
1406         (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
1407         (FRAME_RIF): New macros.
1408         (get_terminal_param, get_device): New declarations.
1409         (termscript): Delete declaration.
1411         * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
1412         (XTflash, x_free_frame_resources, x_scroll_bar_create)
1413         (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
1414         FRAME_FOREGROUND_PIXEL.
1415         (x_fully_uncatch_errors): Disable definition.
1416         (x_scroll_bar_expose): Fix reference to foreground pixel.
1417         (XTread_socket): Disable loop on all X displays.
1418         (x_delete_terminal): Don't set terminal->deleted and let
1419         delete_terminal delete the frames on the terminal.
1420         (x_delete_display): Doc update to reflect changes in
1421         delete_terminal.
1422         (x_display_info) <terminal>: Move member earlier in the struct.
1423         (deleting_tty): Remove old variable.
1424         (Fsuspend_tty): Call clear_tty_hooks.
1425         (Fresume_tty, init_tty): Call set_tty_hooks.
1426         (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
1427         errors on X frames.
1428         (x_catch_errors_unwind): Abort if x_error_message is NULL.
1429         (handle_one_xevent): Initialize `f' to NULL.
1430         (x_delete_terminal, x_create_terminal): New functions.
1431         (XTset_terminal_modes, XTreset_terminal_modes)
1432         (XTread_socket, x_connection_closed, x_term_init)
1433         (x_term_init, x_delete_display): Add terminal parameter.
1434         (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
1435         X connections.
1437         * frame.c (Fframep): Deal with output_initial.
1438         (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
1439         (Qtty_type, Qwindow_system, Qenvironment)
1440         (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
1441         (x_set_screen_gamma, store_frame_param): Fix compilation errors.
1442         (make_terminal_frame): Don't create frames on a terminal that is
1443         being deleted.
1444         (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
1445         FRAME_FOREGROUND_PIXEL.
1446         (store_frame_param): Check for found_for_frame before calling XFRAME.
1447         (Fmake_terminal_frame): Handle NULL tty names correctly.
1448         (syms_of_frame): Enhance doc string of `default-frame-alist'.
1449         (Fdelete_frame): Remove unused variable `count'.
1450         (Qenvironment): New variable.
1451         (Fdelete_frame): Don't allow other frames to refer to a deleted
1452         frame in their 'environment parameter.
1453         (Fframe_with_environment): New function.
1454         (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
1455         (get_future_frame_param): New function.
1456         (Fmake_terminal_frame): Use it.
1457         (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
1459         * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
1460         * sysdep.c (reset_sys_modes): Update for renames.
1462         * keyboard.c (tty_read_avail_input): New function.
1463         (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
1464         (syms_of_keyboard): Defsubr them.
1465         (Fset_input_meta_mode, Fset_quit_char): New functions.
1466         (Fset_input_mode): Split to above functions.
1468         (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
1469         parameter.  Use it in call to `read_char'.
1470         (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
1471         Set wrong_kboard_jmpbuf correctly in recursive calls.
1472         Use current_kboard to access Vkeyboard_translate_table.
1473         Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
1474         Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
1475         Update longjmp invocations.  Remember the original current_kboard,
1476         and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
1477         changes it.  Comment out unnecessary calls to
1478         `record_single_kboard_state' and `any_kboard_state'.
1479         Update recursive calls.
1480         (wrong_kboard_jmpbuf): Remove global variable.
1481         (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
1482         Handle deleted interrupted_kboards correctly; that is a legal
1483         case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
1484         and read_char calls.  Abort if interrupted_kboard died in read_char.
1485         (any_kboard_state, single_kboard_state)
1486         (push_frame_kboard): Remove function.
1487         (pop_kboard): Switch out of single_kboard mode if the kboard has
1488         been deleted.  Remove unused variable.  Help debugging by not
1489         changing current_kboard unnecessarily.  Set current_kboard to the
1490         kboard of the selected frame when the stored kboard object has
1491         been deleted before pop_kboard.
1492         (temporarily_switch_to_single_kboard): Change first parameter to a
1493         frame pointer.  Throw an error when caller wants to change kboards
1494         while in single_kboard mode.  Don't push_kboard if we weren't in
1495         single kboard state.  Don't pop_kboard if we popped into any
1496         kboard state.
1497         (restore_kboard_configuration): Abort if pop_kboard changed the
1498         kboard in single_kboard mode.  Call pop_kboard only after setting
1499         up single_kboard mode.
1500         (Frecursive_edit): Switch to single_kboard mode only in nested
1501         command loops.
1502         (cmd_error, command_loop, command_loop_1, timer_check):
1503         Comment out unnecessary call to `any_kboard_state' and
1504         `record_single_kboard_state'.
1505         (delete_kboard): Exit single_kboard mode if we have just deleted
1506         that kboard.  Use FRAME_KBOARD.
1507         (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
1508         `fatal_error_signal'.
1509         (record_single_kboard_state): Don't push_kboard if we weren't in
1510         single kboard state.  Don't pop_kboard if we popped into any
1511         kboard state.
1512         (push_frame_kboard): Rename to push_kboard.
1513         (kbd_buffer_get_event): Use FRAME_TERMINAL.
1514         (read_avail_input): Read input from all terminals.
1515         (mark_kboards): Also mark Vkeyboard_translate_table.
1516         (kbd_buffer_store_event_hold): Simplify condition.
1517         (read_key_sequence): Reinitialize fkey and keytran at each replay.
1518         (Vkeyboard_translate_table): Move to struct kboard.
1519         (init_kboard): Initialize Vkeyboard_translate_table.
1520         (syms_of_keyboard): Use DEFVAR_KBOARD to define
1521         Vkeyboard_translate_table.  Update doc strings.  Update docs of
1522         local-function-key-map and function-key-map.
1524         * terminal.c: New file.
1526         * term.c: Include errno.h.
1527         (Vring_bell_function, device_list, initial_device)
1528         (next_device_id, ring_bell, update_begin, update_end)
1529         (set_terminal_window, cursor_to, raw_cursor_to)
1530         (clear_to_end, clear_frame, clear_end_of_line)
1531         (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
1532         (Fdisplay_name, create_device, delete_device): Move to terminal.c.
1533         (syms_of_term): Move their initialization to terminal.c.
1534         (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
1535         (Ftty_display_color_cells)
1536         (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
1537         (clear_tty_hooks, set_tty_hooks)
1538         (init_tty, maybe_fatal): New functions.
1539         (Ftty_type): Return nil if terminal is not on a tty instead of
1540         throwing an error.  Doc update.
1541         (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
1542         Doc update.  Initialize new subrs and variables.
1543         (delete_tty): Use terminal->deleted.
1544         (tty_set_terminal_modes): Rename from set_terminal_modes.
1545         (tty_reset_terminal_modes): Rename from reset_terminal_modes.
1546         (set_scroll_region): Rename to `tty_set_scroll_region'.
1547         (turn_on_insert): Rename to `tty_turn_on_insert'.
1548         (turn_off_insert): Rename to `tty_turn_off_insert'.
1549         (turn_off_highlight): Rename to `tty_turn_off_highlight'.
1550         (turn_on_highlight): Rename to `tty_turn_on_highlight'.
1551         (toggle_highligh): Rename to `tty_toggle_highlight'.
1552         (background_highlight): Rename to `tty_background_highlight'.
1553         (highlight_if_desired): Rename to `tty_highlight_if_desired'.
1554         (tty_ring_bell, tty_update_end, tty_set_terminal_window)
1555         (tty_set_scroll_region, tty_background_highlight)
1556         (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
1557         (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
1558         (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
1559         (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
1560         Add static modifier.
1561         (tty_reset_terminal_modes, tty_set_terminal_window)
1562         (tty_set_scroll_region, tty_background_highlight)
1563         (tty_highlight_if_desired, tty_cursor_to)
1564         (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
1565         (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
1566         (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
1567         renames.
1569 2007-08-28  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1571         * keyboard.c: Qrtl is new.
1572         (parse_tool_bar_item): Handle :rtl keyword.
1573         (syms_of_keyboard): Intern :rtl keyword.
1575         * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
1577         * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
1578         so no Lisp code is executed.
1579         (file_for_image, find_rtl_image): New functions.
1580         (xg_get_image_for_pixmap): Use file_for_image
1581         (update_frame_tool_bar): If direction is RTL, use RTL image if
1582         defined.  Use Gtk stock images if defined.
1584 2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1586         * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
1587         for nonexistent or zero-width glyph in composition glyph.
1589 2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1591         * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
1593         * xdisp.c (Finvisible_p): New function.
1594         (syms_of_xdisp): defsubr it.
1596 2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
1598         * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
1599         Doc fixes.
1601 2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1603         * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
1605 2007-08-24  Martin Rudalics  <rudalics@gmx.at>
1607         * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
1608         whether decoding has modified buffer contents.
1610 2007-08-24  Jason Rumney  <jasonr@gnu.org>
1612         * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
1613         (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
1614         (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
1615         (init_svg_functions) [HAVE_NTGUI]: New function.
1616         (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
1617         (svg_load_image): Use them.
1618         (svg_load_image) [HAVE_NTGUI]: Implement background.
1620 2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1622         * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
1623         (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
1624         (LIBX): Remove @RSVG_LIBS@.
1625         (LIBES): Add $(RSVG_LIBS).
1627         * image.c (svg_load_image): Blend with specified background if exists.
1628         Use IMAGE_BACKGROUND.  Add Mac OS Support.
1630         * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
1631         (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
1632         Remove macros.
1633         [MAC_OSX] (socket_callback): Do nothing.
1634         [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
1635         ReceiveNextEvent.
1636         [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
1637         socket_callback.
1638         (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
1640 2007-08-22  Glenn Morris  <rgm@gnu.org>
1642         * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
1644 2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
1646         * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
1648         * image.c: Add support for SVG images.  Some additional comments
1649         by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
1650         (svg_image_p): New function to test for SVG image.
1651         (svg_load): New function to load SVG image.
1652         (svg_load_image): New function, helper for svg_load.
1653         (Qsvg): New Lisp_object.
1654         (svg_keyword_index): New enum.
1655         (svg_format): New static `image_keyword' struct.
1656         (svg_type): New static `image_type' struct.
1657         (librsvg/rsvg.h): Include it.
1659 2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1661         * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
1663 2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
1665         * lread.c (Qold_style_backquotes): New var.
1666         (syms_of_lread): Init and staticpro it.
1667         (load_warn_old_style_backquotes): New fun.
1668         (Fload): Use them to warn about old style backquotes.
1669         (end_of_file_error, Fload): Remove unused vars.
1671         * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
1673         * lread.c (Vold_style_backquotes): New var.
1674         (syms_of_lread): Init and export it to Elisp.
1675         (read1): Set it when we find an old-style (back)quote.
1677 2007-08-22  Jason Rumney  <jasonr@gnu.org>
1679         * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
1681 2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
1683         * puresize.h (BASE_PURESIZE): Increase to 1140000.
1685 2007-08-19  Richard Stallman  <rms@gnu.org>
1687         * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
1689 2007-08-19  Andreas Schwab  <schwab@suse.de>
1691         * alloc.c (pure): Round PURESIZE up.
1693 2007-08-17  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1695         * xterm.c (handle_one_xevent): Remove check that mouse click is in
1696         active frame.
1698 2007-08-16  Richard Stallman  <rms@gnu.org>
1700         * eval.c (Fcommandp): Add parens to clarify.
1702         * minibuf.c (Fall_completions): Use enum for type of table.
1704         * emacs.c (USAGE2): Improve text.
1706 2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
1708         * term.c (tty_default_color_capabilities): Declare static
1709         variables in file scope, to avoid HPUX compiler problem.
1711 2007-08-13  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1713         * gtkutil.c (update_frame_tool_bar): Use -1 as index
1714         to gtk_toolbar_insert.
1716 2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
1718         * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
1720         * insdel.c (reset_var_on_error): New fun.
1721         (signal_before_change, signal_after_change):
1722         Use it to reset (after|before)-change-functions to nil in case of error.
1723         Bind inhibit-modification-hooks to t.
1724         Don't bind (after|before)-change-functions to nil while they run.
1726 2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1728         * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
1729         filling pixmap with stippled background.
1731 2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1733         * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
1734         Don't use invisible frame as parent window for repositioning.
1736 2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1738         * print.c (new_backquote_output): Rename from old_backquote_output.
1739         (print): Inverse its logic (according to its name) so as to match the
1740         behavior of new_backquote_flag in lread.c.
1742 2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1744         * gmalloc.c (posix_memalign): New function.
1746         * macterm.c (frame_highlight, frame_unhighlight): Don't call
1747         ActivateControl/DeactivateControl here.
1748         [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
1749         frame-notice-user-settings is non-nil.
1750         [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
1751         for kEventParamFMFontStyle.
1752         [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
1753         mac_pass_command_to_system and mac_pass_control_to_system here.
1754         (XTread_socket): Call ActivateControl/DeactivateControl here.
1755         (XTread_socket) [TARGET_API_MAC_CARBON]:
1756         Check mac_pass_command_to_system and mac_pass_control_to_system here.
1757         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
1758         for window repositioning.
1760 2007-08-08  Glenn Morris  <rgm@gnu.org>
1762         * Replace `iff' in doc-strings and comments.
1764 2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
1766         * xdisp.c (move_it_by_lines): Remove incorrect optimization.
1768 2007-08-07  Martin Rudalics  <rudalics@gmx.at>
1770         * fileio.c (Finsert_file_contents): Run format-decode and
1771         after_insert_file_functions on entire buffer when REPLACE is
1772         non-nil and inhibit modification_hooks and point_motion_hooks.
1773         For consistency, run after_insert_file_functions iff something
1774         got inserted.  Move signal_after_change and update_compositions
1775         after code running after_insert_file_functions.  Make sure that
1776         undo_list doesn't record intermediate steps of the decoding process.
1778 2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1780         * emacs.c (main)
1781         [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
1782         Call malloc_enable_thread on interactive startup.
1784         * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
1785         (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
1786         [USE_PTHREAD]: Conditionalize with it.
1787         (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
1788         (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
1789         New functions.
1791 2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
1793         * xdisp.c (redisplay_window): When restoring original buffer
1794         position, make sure it is still valid.
1796         * image.c (png_load): Ignore png-supplied background color.
1798 2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1800         * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
1801         Use kCFAbsoluteTimeIntervalSince1970.
1803         * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
1804         New variable.
1805         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
1806         event loop should be quit.
1807         [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
1808         Quit dialog event loop if quit_dialog_event_loop is set.
1810         * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
1811         (Selection): New typedef.  Use instead of ScrapRef.
1812         (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
1813         (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
1814         (mac_clear_selection): Rename from clear_scrap.
1815         (get_flavor_type_from_symbol): New argument SEL and subsume function of
1816         scrap_has_target_type.  All uses changed.
1817         (mac_get_selection_ownership_info, mac_valid_selection_value_p)
1818         (mac_selection_has_target_p): New functions.
1819         (mac_put_selection_value): Rename from put_scrap_string.
1820         (mac_get_selection_value): Rename from get_scrap_string.
1821         (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
1822         (put_scrap_private_timestamp, scrap_has_target_type)
1823         (get_scrap_private_timestamp): Remove functions.
1824         (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
1825         (x_own_selection, x_get_local_selection):
1826         Use mac_valid_selection_value_p.
1827         (x_own_selection): Don't use put_scrap_private_timestamp.
1828         Record OWNERSHIP-INFO into Vselection_alist instead.
1829         (x_get_local_selection): Don't check type if request is local.
1830         (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
1831         Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
1833 2007-08-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1835         * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
1836         add comment explaining why.
1838 2007-08-03  Richard Stallman  <rms@gnu.org>
1840         * fileio.c (Fvisited_file_modtime): Use make_time.
1842 2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
1844         * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
1845         build.
1847 2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
1849         * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
1851 2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
1853         * puresize.h (BASE_PURESIZE): Increase to 1130000.
1855 2007-07-30  Richard Stallman  <rms@gnu.org>
1857         * lread.c (readevalloop, read1): Treat NBSP as whitespace.
1859 2007-07-29  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1861         * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
1863 2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
1865         * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
1866         remote default-directory.
1868         * buffer.c (mode-line-format): Update doc string.
1870 2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1872         * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
1873         scroll bar gap.
1874         (x_scroll_bar_create): Set bar->fringe_extended_p.
1875         (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
1876         on frame edge.  Check fringe background extension.  Don't clear
1877         extended fringe background area.
1879         * w32term.h (struct scroll_bar): New member fringe_extended_p.
1880         (w32_fill_area): Enclose multiple statements with do ... while (0).
1882         * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
1883         Extend fringe background to scroll bar gap.
1884         (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
1885         Set bar->fringe_extended_p.
1886         (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1887         Put leftmost/rightmost scroll bars on frame edge.  Check fringe
1888         background extension.  Don't clear extended fringe background area.
1890         * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
1891         New member fringe_extended_p.
1893 2007-07-25  Glenn Morris  <rgm@gnu.org>
1895         * Relicense all FSF files to GPLv3 or later.
1897         * COPYING: Switch to GPLv3.
1899 2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
1901         * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
1903         * data.c (Finteractive_form): Check for the presence of an
1904         `interactive-form' symbol property more thoroughly.
1906         * data.c (Finteractive_form): Use an `interactive-form' property if
1907         present, analogous to the function-documentation property.
1909 2007-07-24  Jason Rumney  <jasonr@gnu.org>
1911         * w32fns.c (x_real_positions): Get real position from OS instead of
1912         calculating it.
1914 2007-07-23  Jason Rumney  <jasonr@gnu.org>
1916         * filelock.c (current_lock_owner): Allow for @ sign in username.
1918 2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
1920         * xdisp.c (decode_mode_spec): Add case 'R' for to test for
1921         remote default-directory.
1923         * buffer.c (mode-line-format): Describe above case in doc string.
1925 2007-07-20  Eli Zaretskii  <eliz@gnu.org>
1927         * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
1928         Define if not defined.
1930 2007-07-18  Jason Rumney  <jasonr@gnu.org>
1932         * w32proc.c (w32_executable_type): Handle 64 bit executables.
1934 2007-07-18  Richard Stallman  <rms@gnu.org>
1936         * data.c (Fsetq_default): Doc fix.
1938         * eval.c (Fsetq): Doc fix.
1940 2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
1942         * coding.c (Ffind_operation_coding_system):
1943         * eval.c (For, Fand): Doc fixes.
1944         Reported by Johan Bockg\e,Ae\e(Brd.
1946 2007-07-18  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
1948         * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
1950         * xterm.h: Declare x_ewmh_activate_frame.
1952         * xterm.c (x_ewmh_activate_frame): New function.
1953         (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
1955 2007-07-17  Martin Rudalics  <rudalics@gmx.at>
1957         * window.c (Fdisplay_buffer): If largest or LRU window is the
1958         only window, split it even if it is not eligible for splitting.
1959         This restores the original behavior broken by the 2007-07-15
1960         change.
1962 2007-07-17  Glenn Morris  <rgm@gnu.org>
1964         * abbrev.c (abbrev_check_chars): New function.
1965         (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1966         Call abbrev_check_chars to check abbrev characters are word
1967         constituents.  Doc fix.
1969 2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1971         * process.c (Fstart_process, Fmake_network_process)
1972         (read_process_output): Fix up last changes.
1974 2007-07-16  Eli Zaretskii  <eliz@gnu.org>
1976         * makefile.w32-in (clean): Don't delete *~.
1978 2007-07-16  Andreas Schwab  <schwab@suse.de>
1980         * window.c (Fdisplay_buffer): Use NILP.
1981         (Fset_window_scroll_bars): Likewise.
1983 2007-07-15  Martin Rudalics  <rudalics@gmx.at>
1985         * window.c (window_min_size_2): New function.
1986         (window_min_size_1, size_window, Fdisplay_buffer)
1987         (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
1988         windows without mode- or header-lines when window-min-height is
1989         too small.
1990         (size_window): Reset nodelete_p after testing it, following an
1991         earlier note by Kim F. Storm.
1992         (display_buffer): Do not set split_height_threshold to twice the
1993         value of window_min_height to avoid changing the value of a
1994         customizable variable.  Rather explicitly check whether the
1995         height of the window that shall be splitted is at least as large
1996         as split_height_threshold.
1997         (Fwindow_full_width_p): New defun.
1998         (syms_of_window): Defsubr it.
2000         * window.h: Add EXFUN for Fwindow_full_width_p.
2002 2007-07-14  Jason Rumney  <jasonr@gnu.org>
2004         * process.c [WINDOWSNT]: Don't undefine AF_INET6.
2006 2007-07-14  Richard Stallman  <rms@gnu.org>
2008         * eval.c (maybe_call_debugger): New function.
2009         (find_handler_clause): Use maybe_call_debugger.
2010         Call it when the handler says `debug'.
2011         Eliminate DEBUGGER_VALUE_PTR.
2012         (Fsignal): Eliminate debugger_value.
2013         (Qdebug): New variable.
2014         (syms_of_eval): Initialize it.
2016 2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
2018         * eval.c (Fprogn):
2019         * keyboard.c (Ftrack_mouse):
2020         * print.c (Fwith_output_to_temp_buffer):
2021         * window.c (Fsave_window_excursion): Doc fix.
2023 2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2025         * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
2027 2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2029         * process.h (struct Lisp_Process): Turn slots infd, outfd,
2030         kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
2031         inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
2032         read_output_delay, and read_output_skip from Lisp_Objects to ints.
2033         Remove unused encoding_carryover.
2034         * process.c: Adjust all functions accordingly.
2036 2007-07-12  Richard Stallman  <rms@gnu.org>
2038         * term.c: Include unistd.h only if HAVE_UNISTD_H.
2040 2007-07-11  Jason Rumney  <jasonr@gnu.org>
2042         * makefile.w32-in (LIBS): Include OLE32.
2044         * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
2045         (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
2047 2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2049         * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
2050         * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
2051         from a Lisp_Object into a bare pointer.
2052         (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
2053         Adjust the code correspondingly.
2055         * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
2057         * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
2058         (term_show_mouse_face): Remove unused var `j'.
2059         (handle_one_term_event): Remove unused vars `i' and `j'.
2060         Don't cast return value of ttyname since it's not necessary.
2062 2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2064         * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
2065         USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
2067         * fns.c (map_char_table): Use an array of int for `indices' rather than
2068         an array of Lisp_Objects (which are only ever integers anyway).
2069         (Fmap_char_table): Update caller.
2070         * lisp.h: Update prototype.
2071         * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
2072         * fontset.c (Ffontset_info):
2073         * casetab.c (set_case_table): Update callers.
2075         * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
2077         * keymap.c (struct accessible_keymaps_data)
2078         (struct where_is_internal_data): New structures.
2079         (accessible_keymaps_1, where_is_internal_1): Use them to change
2080         interface to adhere to the one used by map_keymap.
2081         (Faccessible_keymaps, where_is_internal): Use map_keymap.
2082         (accessible_keymaps_char_table, where_is_internal_2): Remove.
2084         * keymap.h (map_keymap_function_t): More informative prototype.
2086 2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
2088         * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
2089         (looking_at_1): Don't change search_regs and last_thing_searched
2090         if `inhibit-changing-match-data' is non-nil.
2091         (string_match_1, search_buffer, set_search_regs): Likewise.
2092         (syms_of_search): Add Lisp level definition for
2093         `inhibit-changing-match-data' and set it to nil.
2094         (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
2095         start and end of the match, instead of using values in search_regs.
2097 2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2099         * minibuf.c (Fcompleting_read): New value `confirm-only'
2100         for `require-match'.
2102 2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
2104         * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
2105         part of the 2007-06-27 change to syms_of_fileio.
2107 2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2109         * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
2110         Check WINDOWP before using XWINDOW.  Consolidate return statements.
2112 2007-06-27  Richard Stallman  <rms@gnu.org>
2114         * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
2116 2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
2118         * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
2120 2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2122         * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
2123         (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
2124         (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
2125         (_free_internal, memalign): Use them.
2126         (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
2127         Initialize to PTHREAD_MUTEX_INITIALIZER.
2128         (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
2129         (morecore_nolock): Rename from morecore.  All uses changed.
2130         Use only nolock versions of internal allocation functions.
2131         (_malloc_internal_nolock, _realloc_internal_nolock)
2132         (_free_internal_nolock): New functions created from
2133         _malloc_internal, _realloc_internal, and _free_internal.
2134         (_malloc_internal, _realloc_internal, _free_internal): Use them.
2135         Copy hook value to automatic variable before its use.
2136         (memalign): Copy hook value to automatic variable before its use.
2138 2007-06-26  Kenichi Handa  <handa@m17n.org>
2140         * coding.c (Ffind_operation_coding_system): Docstring improved.
2141         (syms_of_coding): Docstring of `file-coding-system-alist' improved.
2143 2007-06-25  David Kastrup  <dak@gnu.org>
2145         * keymap.c (Fcurrent_active_maps): Add `position' argument.
2146         (Fwhere_is_internal): Adjust call to `current-active-maps' to
2147         cater for additional parameter.
2149         * keymap.h: Adjust number of parameters to `current-active-maps'.
2151         * doc.c (Fsubstitute_command_keys): Adjust call of
2152         `current-active-maps'.
2154 2007-06-25  David Kastrup  <dak@gnu.org>
2156         * callint.c (Fcall_interactively): Make the parsing of interactive
2157         specs somewhat more readable.
2159 2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2161         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
2162         to scroll bar gap also when bitmap fills fringe.  Draw only foreground
2163         if extended background has already been filled.
2165 2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2167         * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
2168         (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
2170         * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
2171         Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
2172         in #if 0 as it is not compatible with y-or-n-p-with-timeout.
2173         (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
2174         [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
2175         instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
2176         (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
2177         [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
2178         Run timers during dialog popup.
2179         (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
2181 2007-06-21  Jason Rumney  <jasonr@gnu.org>
2183         * image.c (convert_mono_to_color_image): Swap fore and background.
2185 2007-06-20  Jason Rumney  <jasonr@gnu.org>
2187         * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
2188         (w32_free_bdf_font): Unmap memory not handle.
2190 2007-06-20  Sam Steingold  <sds@gnu.org>
2192         * gmalloc.c (__morecore): Fix the declaration to comply with the
2193         definition.
2195 2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
2197         * w32term.c (w32_delete_display): Remove leftover declaration.
2198         (w32_define_cursor, w32_initialize): Make static.
2200         * w32.c (_wsa_errlist): Fix typo in error message.
2201         (init_environment): Ignore any environment variable from the
2202         registry having a null value.
2204 2007-06-20  Glenn Morris  <rgm@gnu.org>
2206         * Makefile.in (LIBGIF): Default to -lgif.
2208 2007-06-17  Jason Rumney  <jasonr@gnu.org>
2210         * w32menu.c (add_menu_item): Don't use multibyte string functions on
2211         unicode strings.
2213 2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
2215         * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
2216         Fix typo in docstring.
2218 2007-06-16  Eli Zaretskii  <eliz@gnu.org>
2220         * w32menu.c (add_menu_item): Escape `&' characters in menu items
2221         and their keybindings.
2223 2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
2225         * composite.c (update_compositions): Fix last fix.
2227 2007-06-14  Jason Rumney  <jasonr@gnu.org>
2229         * w32.c (get_process_times_fn): New function pointer.
2230         (globals_of_w32): Intialize it if present in kernel32.dll.
2231         (w32_get_internal_run_time): New function.
2233         * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
2235 2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
2237         * composite.c (update_compositions): Check the validness of
2238         compositions.
2240 2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2242         * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
2243         (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
2245         * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
2246         (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
2248         * macgui.h (USE_MAC_TOOLBAR): New define.
2250         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2251         Return immediately unless popup is activated.
2253         * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
2254         background to scroll bar gap.
2255         (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
2256         (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
2257         scroll bars on frame edge.  Check fringe background extension.
2258         Don't clear extended fringe background area.
2259         (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
2260         (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
2261         (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
2262         [USE_MAC_TOOLBAR]: New macros.
2263         (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
2264         (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
2265         (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
2266         (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
2267         [USE_MAC_TOOLBAR]: New functions.
2268         (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
2269         manually if previous repositioning has failed.
2270         (mac_handle_keyboard_event): Use precomputed event kind.
2271         (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
2272         as tool bar item click.  Handle mouse movement over tool bar items.
2274         * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
2275         toolbar_win_gravity.
2276         (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
2277         (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
2278         Add externs.
2280         * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
2281         [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
2283 2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
2285         * image.c (search_image_cache): Remove unused variable.
2287 2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
2289         * xfns.c, xmenu.c: Link to xaw3d if available.
2291 2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2293         * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
2294         frame_foreground and frame_background.
2296         * image.c (lookup_image): Save frame foreground and background colors.
2297         (search_image_cache): Check if saved and current frame colors match.
2299 2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
2301         * regex.c (regex_compile): Remove the `regnum' counter.
2302         Use bufp->re_nsub instead.  Add support for \(?N:RE\).
2304 2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2306         * term.c: Include intervals.h to declare Fget_text_property.
2308 2007-06-10  Jason Rumney  <jasonr@gnu.org>
2310         * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
2312 2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
2314         * callint.c (Fcall_interactively):
2315         * editfns.c (Fdelete_and_extract_region):
2316         * fileio.c (Fread_file_name):
2317         * fns.c (Fmapconcat):
2318         * keyboard.c (cmd_error_internal):
2319         * keymap.c (Fkey_description):
2320         * lread.c (openp):
2321         * minibuf.c (read_minibuf):
2322         * search.c (wordify):
2323         * sunfns.c (sel_read):
2324         * xdisp.c (Fformat_mode_line, syms_of_xdisp):
2325         * xfns.c (x_default_scroll_bar_color_parameter):
2326         * xmenu.c (menu_help_callback):
2327         * xselect.c (Fx_get_atom_name):
2328         * xterm.c (x_term_init): Use empty_unibyte_string.
2330 2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
2332         * alloc.c (init_strings): Initialize canonical empty strings.
2333         (make_uninit_string, make_uninit_multibyte_string): Return appropriate
2334         canonical empty string when the requested size is 0.
2336         * emacs.c (empty_unibyte_string): Rename from empty_string.
2337         (empty_multibyte_string): New canonical empty string.
2338         (syms_of_emacs): Don't initialize empty_string.
2340         * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
2341         string, if appropriate.
2342         (empty_unibyte_string, empty_multibyte_string): New externs.
2343         (empty_string): Remove extern.
2345         * lread.c (syms_of_lread): Use empty_unibyte_string.
2347 2007-06-07  Jason Rumney  <jasonr@gnu.org>
2349         * s/ms-w32.h: Don't define HAVE_TZNAME.
2351         * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
2353 2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2355         * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
2357         * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
2358         (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
2360         * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
2361         Don't call next handler.
2362         [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
2363         Remove argument.  Install handler to application.
2364         (set_frame_menubar): Don't change deep_p.
2365         (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
2366         FRAME_OUTER_TO_INNER_DIFF_Y.
2367         (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2368         (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2369         [HAVE_DIALOGS]: New macros.
2370         [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
2371         Use them.
2372         (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
2374         * macselect.c [MAC_OSX] (install_service_handler): Rename from
2375         init_service_handler.  All callers changed.  Return OSStatus value.
2377         * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
2378         All callers changed so as not to call SetPortWindowPort.
2379         (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
2380         (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
2381         mac_draw_string_common.
2382         (mac_draw_image_string_qd): Likewise.
2383         (mac_draw_string_common): Use them.  Add INLINE.
2384         (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
2385         Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
2386         GetGlobalMouse.
2387         (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
2388         and FRAME_OUTER_TO_INNER_DIFF_Y.
2389         [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
2390         [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
2391         (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
2392         repositioning window to mac_handle_window_event.
2393         (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
2394         saving window location to mac_handle_window_event
2395         [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
2396         (install_menu_target_item_handler): Remove argument in extern.
2397         [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
2398         Also accept command events.
2399         (do_keystroke): New function created from XTread_socket.
2400         (init_command_handler): Remove functions.
2401         [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
2402         and save window location by kEventWindowShowing and kEventWindowHiding
2403         handlers here.  Don't call next handler for window state change and
2404         focus events.
2405         (mac_handle_application_event, mac_handle_keyboard_event)
2406         [TARGET_API_MAC_CARBON]: New functions.
2407         (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
2408         kEventWindowShowing and kEventWindowHiding events.  Move installation
2409         of mouse, font, text input and menu target item handlers to
2410         install_application_handler.
2411         (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
2412         (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2413         New function.
2414         (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2415         Register it.
2416         (XTread_socket) [TARGET_API_MAC_CARBON]:
2417         Consolidate SendEventToEventTarget calls.
2418         Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
2419         Move application activation handler to mac_handle_application_event.
2420         Move keyboard handler to mac_handle_keyboard_event.
2421         (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
2422         (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
2423         init_command_handler.  Call install_application_handler.
2425         * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
2426         (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
2428 2007-06-07  Glenn Morris  <rgm@gnu.org>
2430         * emacs.c (main): Use `emacs-copyright' in --version output.
2432 2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
2434         * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
2436 2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2438         * macfns.c (mac_window): Replace WindowPtr with WindowRef.
2440         * macgui.h: Replace WindowPtr with WindowRef.
2442         * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2443         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2444         Replace ControlHandle with ControlRef.
2445         (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
2447         * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
2448         GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
2449         Replace ControlHandle with ControlRef.
2450         (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
2451         [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
2453         * macterm.h (struct scroll_bar): Rename member control_handle_low
2454         and control_handle_high to control_ref_low and control_ref_high.
2455         All uses changed.
2456         (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
2457         SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
2458         respectively.  All uses changed.
2459         (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
2460         (install_window_handler, remove_window_handler): Replace WindowPtr
2461         with WindowRef in externs.
2463 2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
2465         * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
2467 2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
2469         * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
2471         * frame.c (Fmouse_position, Fmouse_pixel_position):
2472         Condition on HAVE_GPM too.
2474         * term.c (term_mouse_highlight): Remove unused variables.
2475         (Fterm_open_connection): Set gpm_zerobased to 1.
2476         (term_mouse_movement, term_mouse_click, handle_one_term_event):
2477         Use zero based co-ordinates.
2478         (handle_one_term_event): Report a drag as mouse movement too.
2480         * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
2482 2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
2484         * image.c (search_image_cache): New function.  Require background
2485         color match if background color is unspecified in the image spec.
2486         (uncache_image, lookup_image): Use it.
2488 2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
2490         * window.c (Fshrink_window): Reflow docstring.
2492 2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
2494         * Version 22.1 released.
2496 2007-06-01  Richard Stallman  <rms@gnu.org>
2498         * xfns.c (x_encode_text): Add GCPRO.
2500 2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2502         * xfns.c (x_set_name_internal): Save encoded name before
2503         x_encode_text in case string data is relocated.
2505 2007-05-31  Richard Stallman  <rms@gnu.org>
2507         * buffer.c (syms_of_buffer): Doc fix.
2509 2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
2511         * sysdep.c (init_sys_modes): Add rather than replace with
2512         O_NONBLOCK.
2514         * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
2515         term_mouse_moveto.
2517         * termhooks.h (term_mouse_moveto): New extern.
2519         * term.c (mouse_face_window): Rename...
2520         (Qmouse_face_window): ...to this.
2521         (term_show_mouse_face, term_clear_mouse_face)
2522         (term_mouse_highlight): Use Qmouse_face_window.
2523         (term_mouse_moveto): New function.
2524         (term_mouse_position): Make it work.
2525         (syms_of_term): Uncomment assignment to mouse_position_hook.
2526         Staticpro Qmouse_face_window.
2528 2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2530         * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
2531         around current_column call.
2533 2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
2535         * xfaces.c (syms_of_xfaces): Delete stray semicolon.
2536         * xdisp.c (next_element_from_buffer):
2537         * window.c (delete_window):
2538         * term.c (term_mouse_highlight):
2539         * msdos.c (getdefdir):
2540         * macterm.c (mac_create_bitmap_from_bitmap_data)
2541         (init_font_name_table):
2542         * fns.c (Fsxhash):
2543         * data.c (Fmake_local_variable):
2544         * ccl.c (ccl_driver): Likewise.
2546 2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2548         * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
2549         Call mac_wakeup_from_rne on window size change.
2551 2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
2553         * image.c (uncache_image): Fix typo.
2555 2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
2557         * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
2559 2007-05-22  Richard Stallman  <rms@gnu.org>
2561         * xterm.c (x_connection_closed): Remove NO_RETURN.
2563 2007-05-22  Martin Rudalics  <rudalics@gmx.at>
2565         * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
2567 2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
2569         * image.c (uncache_image): New function.
2570         (Fimage_refresh): New function.
2572 2007-05-20  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2574         * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
2576 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2578         * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
2579         * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
2581 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2583         * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
2584         conditional on [HAVE_GPM_H].
2586 2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2588         * syntax.c (skip_chars): Update syntax-table only after we checked that
2589         the new location is valid.
2591 2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2593         * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
2594         mac_get_window_bounds.
2596 2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
2598         * Makefile.in (LIBGPM): Allow it to be set from configure.
2599         If set then link Emacs with it.
2601         * config.in: Regenerate.
2603         * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
2604         New externs.
2606         * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
2607         Include gpm.h.
2608         (handle_one_term_event, term_gpm): New externs.
2610         * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
2611         and allow it to be interrupted by SIGIO.
2613         * process.c (gpm_wait_mask, max_gpm_desc): New variables.
2614         (wait_reading_process_output): Wait on gpm_fd too.
2615         (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
2616         (add_gpm_wait_descriptor_called_flag): New variable.
2617         (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
2619         * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
2620         (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
2621         (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
2622         Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
2623         (make_lispy_event): Add case GPM_CLICK_EVENT.
2624         (read_avail_input): Handle mouse input.
2626         * term.c (write_glyphs_with_face): New function.
2627         [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
2628         (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
2629         (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
2630         (mouse_face_face_id, term_gpm, pos_x, pos_y)
2631         (last_mouse_x, last_mouse_y): New variables.
2632         (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
2633         (term_mouse_highlight, term_mouse_movement, term_mouse_position)
2634         (term_mouse_click, handle_one_term_event, Fterm_open_connection)
2635         (Fterm_close_connection): New functions.
2636         (term_init): Initialise mouse_face_window.
2638 2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
2640         * xdisp.c (redisplay_window): If first window line is a
2641         continuation line, recompute the new window start instead of
2642         recentering.
2644 2007-05-18  Glenn Morris  <rgm@gnu.org>
2646         * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
2647         Suggested by Alfred M. Szmidt <ams@gnu.org>.
2649 2007-05-17  Glenn Morris  <rgm@gnu.org>
2651         * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
2653 2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2655         * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
2656         dead key repeat and up events.
2658 2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
2660         * image.c (pbm_load): Check image size for monochrome pbm.
2662 2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
2664         * xterm.c (XTread_socket): Revert last change.
2666 2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
2668         * image.c (pbm_load): Correctly check image size for greyscale pbm.
2670         * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
2672 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2674         * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
2675         mixup (YAILOM).
2677 2007-05-07  Andreas Schwab  <schwab@suse.de>
2679         * keymap.c (Flookup_key): Fix typo in last change.
2681 2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2683         * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
2684         mapping for unibyte strings.
2686 2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2688         * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
2689         (Fx_popup_dialog) [MAC_OSX]: Likewise.
2691 2007-04-29  Richard Stallman  <rms@gnu.org>
2693         * insdel.c (replace_range): For undo, record insertion first.
2695 2007-04-29  Andreas Schwab  <schwab@suse.de>
2697         * lisp.h (VECSIZE): Use OFFSETOF.
2699 2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2701         * xdisp.c (try_window_reusing_current_matrix): Fix number of
2702         disabled lines.
2704 2007-04-28  Richard Stallman  <rms@gnu.org>
2706         * lread.c (read_escape): In a string, \s is always space.
2708 2007-04-27  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
2710         * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
2712         * gtkutil.c (xg_update_menubar, create_menus): Create empty
2713         submenu for menu bar items.
2715 See ChangeLog.10 for earlier changes.
2717 ;; Local Variables:
2718 ;; coding: iso-2022-7bit
2719 ;; add-log-time-zone-rule: t
2720 ;; End:
2722     Copyright (C) 2007 Free Software Foundation, Inc.
2724   This file is part of GNU Emacs.
2726   GNU Emacs is free software; you can redistribute it and/or modify
2727   it under the terms of the GNU General Public License as published by
2728   the Free Software Foundation; either version 3, or (at your option)
2729   any later version.
2731   GNU Emacs is distributed in the hope that it will be useful,
2732   but WITHOUT ANY WARRANTY; without even the implied warranty of
2733   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2734   GNU General Public License for more details.
2736   You should have received a copy of the GNU General Public License
2737   along with GNU Emacs; see the file COPYING.  If not, write to the
2738   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
2739   Boston, MA 02110-1301, USA.
2741 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40