]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
(set-display-table-and-terminal-coding-system):
[gnu-emacs] / src / ChangeLog
index 78a73db5cc15b40f2652a7d6890e7e43155916f2..dd9d9cecb264434258372a5a6704dc7ea065bb89 100644 (file)
@@ -1,7 +1,67 @@
+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>
 
@@ -15,6 +75,9 @@
 
 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.