+2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
+
+ Change overlays_after and overlays_before so the overlays themselves
+ are linked into lists, rather than using cons cells. After all each
+ Lisp_Misc already occupies 5 words, so we can add a `next' field to
+ Lisp_Overlay for free and save up one cons cell per overlay (not
+ to mention one indirection when traversing the list of overlay).
+
+ * lisp.h (struct Lisp_Overlay): New field `next'.
+
+ * buffer.h (struct buffer): Change overlays_before and overlays_after
+ from Lisp lists of overlays to pointers to overlays.
+
+ * buffer.c (overlay_strings, recenter_overlay_lists):
+ Fix typo in eassert in last commit.
+ (unchain_overlay): New function.
+ (add_overlay_mod_hooklist): Use AREF.
+ (copy_overlays, reset_buffer, overlays_at, overlays_in)
+ (overlay_touches_p, overlay_strings, recenter_overlay_lists)
+ (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
+ (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
+ (report_overlay_modification, evaporate_overlays, init_buffer_once):
+ Adjust to new type of overlays_(before|after).
+
+ * alloc.c (mark_object): Mark the new `next' field of overlays.
+ (mark_buffer): Manually mark the overlays_(after|before) fields.
+
+ * coding.c (run_pre_post_conversion_on_str):
+ * editfns.c (overlays_around):
+ * xdisp.c (load_overlay_strings):
+ * fileio.c (Finsert_file_contents):
+ * indent.c (current_column):
+ * insdel.c (signal_before_change, signal_after_change):
+ * intervals.c (set_point_both):
+ * print.c (temp_output_buffer_setup): Use new type for
+ overlays_(before|after).
+
+2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
+
+ * buffer.c (report_overlay_modification): Don't run hooks while
+ traversing the list of overlays.
+
+ * buffer.h (struct buffer): Use an int for overlay_center.
+ (overlays_at, evaporate_overlays, recenter_overlay_lists)
+ (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+ * buffer.c (reset_buffer, recenter_overlay_lists)
+ (adjust_overlays_for_insert, adjust_overlays_for_delete)
+ (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
+ (evaporate_overlays, init_buffer_once): Update use of overlay_center.
+ (overlays_at, evaporate_overlays, recenter_overlay_lists)
+ (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
+
+ * xdisp.c (fast_find_position): Remove unused var.
+
+ * cmds.c (Qexpand_abbrev): New sym.
+ (syms_of_cmds): Initialize it.
+ (internal_self_insert): Use it to call expand-abbrev.
+
+2003-07-09 Kim F. Storm <storm@cua.dk>
+
+ * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
+ was configured with --without-xim.
+ (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
+
+2003-07-07 Richard M. Stallman <rms@gnu.org>
+
+ * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
+
+ * alloc.c (Fgarbage_collect): Doc fix.
+
+2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
+
+ * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
+
+2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
+
+ * minibuf.c (read_minibuf): UNGCPRO before returning.
+ (Ftry_completion, Fall_completions): Doc fix.
+
+ * alloc.c (live_float_p): Check that p is not past the `floats' array,
+ now that `floats' is not the last element of the struct any more.
+
+2003-07-06 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.h (ClipboardSequence_Proc): New type.
+
+ * w32fns.c (clipboard_sequence_fn): New variable.
+ (globals_of_w32fns): Initialize it.
+
+ * w32select.c (last_clipboard_sequence_number): New variable.
+ (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
+ number if possible.
+
+2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
+
+ * m/amdx86-64.h (MARKBIT):
+ * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
+ MARKBIT and ARRAY_MARK_FLAG any more.
+
+ * m/hp800.h (XSETMARKBIT):
+ * m/sr2k.h (XSETMARKBIT):
+ * lisp.h (XSETMARKBIT): Remove unused macro.
+
+ * lisp.h (mark_object): Change prototype.
+
+ * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
+ (last_marked): Change accordingly.
+ (mark_interval, mark_maybe_object, mark_maybe_pointer)
+ (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
+ (mark_buffer): Update calls to mark_object.
+
+ * bytecode.c (mark_byte_stack):
+ * fns.c (sweep_weak_table):
+ * keyboard.c (mark_kboards): Update calls to mark_object.
+
+2003-07-06 Jason Rumney <jasonr@gnu.org>
+
+ * alloc.c (struct ablock): Only include padding when there is some.
+
+2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (ALIGN): Add casts to simplify usage.
+ (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
+ (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
+ (struct ablock, struct ablocks): New types.
+ (free_ablock): New global var.
+ (lisp_align_malloc, lisp_align_free): New functions.
+ (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
+ (struct float_block): Reorder and add gcmarkbits.
+ (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
+ (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
+ (init_float, make_float): Use lisp_align_malloc.
+ (free_float, live_float_p): Don't use `type' any more.
+ (make_float): Use FLOAT_UNMARK to access to mark bit.
+ (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
+ Use FLOAT_MARKED_P to access the mark bit.
+ (pure_alloc): Simplify use of ALIGN.
+ (mark_object): Use FLOAT_MARK to access the mark bit.
+ (gc_sweep): Use new macros to access the float's mark bit.
+ (init_alloc_once): Init free_ablock.
+
+ * lisp.h (struct Lisp_Float): Remove unused field `type'.
+
+2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
+ (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
+ (allocate_buffer): Move.
+ (string_bytes): Don't mask markbit of `size_byte'.
+ (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+ (mark_object, mark_buffer, survives_gc_p, gc_sweep):
+ Use the `size' field of buffers (rather than the `name' field) for
+ the mark bit, as is done for all other vectorlike objects.
+ Use the new macros to access the mark bit of vectorlike objects.
+
+2003-06-26 Richard M. Stallman <rms@gnu.org>
+
+ * puresize.h (BASE_PURESIZE): Increment base size.
+
+ * xdisp.c (fast_find_position): Enable Gerd's new definition.
+
+ * xterm.c (xim_initialize): Undo previous change.
+
+2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (survives_gc_p): Simplify.
+
+ * buffer.c (set_buffer_internal_1): Test CONSP for lists.
+
+ * window.c (Fset_window_dedicated_p): Simplify.
+ (display_buffer_1): Don't raise the win from which minibuf was entered.
+ (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
+ (Fminibuffer_selected_window): Simplify.
+
+ * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
+
+ * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
+ (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
+
+ * insdel.c (check_markers, adjust_markers_for_delete)
+ (adjust_markers_for_insert, adjust_markers_for_replace)
+ (prepare_to_modify_buffer, RESTORE_VALUE):
+ * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
+ (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
+ (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
+ * alloc.c (Fmake_marker, free_marker, gc_sweep):
+ * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
+ * editfns.c (save_excursion_restore, transpose_markers):
+ * window.c (delete_window):
+ * xdisp.c (message_dolog): Update for new types.
+
+2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+
+ * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
+ (realize_default_face): Use default_face_done_p for the force_p
+ argument to set_lface_from_font_name. Set default_face_done_p to one.
+
+ * frame.c (make_frame): Initialize default_face_done_p.
+
+ * frame.h (struct frame): Add default_face_done_p.
+
+ * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
+ will be defined.
+
+2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
+
+ * alloc.c (make_interval, Fmake_symbol, allocate_misc):
+ Initialize the new field `gcmarkbit'.
+ (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
+ (mark_interval_tree): Don't mark the tree separately from the nodes.
+ (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
+ (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
+ (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
+
+ * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
+ (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
+ (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
+ (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
+ (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
+
+2003-06-24 Dave Love <fx@gnu.org>
+
+ * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
+
+ * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
+ from gnulib.
+
+2003-06-21 Richard M. Stallman <rms@gnu.org>
+
+ * fileio.c (Fwrite_region): Alternate messages
+ for append and partial write.
+
+ * keyboard.c (read_key_sequence): When converting upcase fn key to
+ downcase, update fkey and keytran so `backspace' gets translated.
+
+ * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
+
+ * process.c (wait_reading_process_input): Don't signal SIGIO
+ in batch mode.
+
+2003-06-17 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
+ composite.h.
+
+ * xselect.c: Don't include charset.h, coding.h, composite.h.
+ (Qforeign_selection): New variable.
+ (syms_of_xselect): Intern and static it.
+ (selection_data_to_lisp_data): Return a unibyte string made from
+ data with `foreign-selection' text property.
+
+2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
+
+ * termhooks.h (EVENT_INIT): New macro.
+
+ * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
+
+ * alloc.c (mark_kboards): Move to keyboard.c.
+
+ * keyboard.c (record_asynch_buffer_change, read_avail_input):
+ * xterm.c (x_dispatch_event):
+ * xmenu.c (find_and_call_menu_selection):
+ * xdisp.c (handle_tool_bar_click):
+ * w32menu.c (menubar_selection_callback):
+ * sysdep.c (kbd_input_ast, read_input_waiting):
+ * msdos.c (dos_rawgetc):
+ * macterm.c (mac_check_for_quit_char):
+ * macmenu.c (menubar_selection_callback):
+ * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
+ data to kbd_buffer_store_event.
+
+2003-06-15 Kim F. Storm <storm@cua.dk>
+
+ * xdisp.c (x_fix_overlapping_area): Always use area relative X
+ to fix redisplay problem with tall characters (such as \e,AC\e(B).
+
+2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
+
+ * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
+
+2003-06-12 Kenichi Handa <handa@m17n.org>
+
+ * fileio.c (Fwrite_region): Save and restore restriction.
+
+2003-06-12 Dave Love <fx@gnu.org>
+
+ * alloca.c (alloca): Declare arg as size_t.
+
+ * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
+ Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
+
+2003-06-11 Dave Love <fx@gnu.org>
+
+ * search.c (shrink_regexp_cache): Use xrealloc.
+ (syms_of_search): Use xmalloc.
+
2003-06-10 Kim F. Storm <storm@cua.dk>
* xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
2003-06-05 Dave Love <fx@gnu.org>
+ * strftime.c: Merge changes from gnulib.
+
* mktime.c (__mktime_internal): Merge changes from gnulib
involving year 69 and dst2.
Changes to merge with gnulib version and be consistent with the
autoconf test:
- * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H. Use
- HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
+ * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
+ Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
[HAVE_LOCALE_H]: Include locale.h.
(getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
(ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
(setup_ccl_program): Initialize ccl->eight_bit_control to zero.
+2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * xfaces.c (realize_default_face): Do not abort if lface is
+ non-existent - reverts change from 2003-05-19.
+
2003-05-29 Kenichi Handa <handa@m17n.org>
* coding.c (decode_coding_iso2022): Pay attention to the byte