[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109594: Revert and cleanup some rece
From: |
Dmitry Antipov |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109594: Revert and cleanup some recent overlay changes. |
Date: |
Tue, 14 Aug 2012 08:49:18 +0400 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109594
committer: Dmitry Antipov <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-14 08:49:18 +0400
message:
Revert and cleanup some recent overlay changes.
* buffer.h (enum overlay_type): Remove.
(buffer_get_overlays, buffer_set_overlays): Likewise.
(buffer_set_overlays_before, buffer_set_overlays_after):
New function. Adjust users.
(unchain_both): Add eassert.
modified:
src/ChangeLog
src/alloc.c
src/buffer.c
src/buffer.h
src/editfns.c
src/fileio.c
src/print.c
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-08-14 04:47:05 +0000
+++ b/src/ChangeLog 2012-08-14 04:49:18 +0000
@@ -1,5 +1,14 @@
2012-08-14 Dmitry Antipov <address@hidden>
+ Revert and cleanup some recent overlay changes.
+ * buffer.h (enum overlay_type): Remove.
+ (buffer_get_overlays, buffer_set_overlays): Likewise.
+ (buffer_set_overlays_before, buffer_set_overlays_after):
+ New function. Adjust users.
+ (unchain_both): Add eassert.
+
+2012-08-14 Dmitry Antipov <address@hidden>
+
* gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
2012-08-14 Paul Eggert <address@hidden>
=== modified file 'src/alloc.c'
--- a/src/alloc.c 2012-08-08 14:47:11 +0000
+++ b/src/alloc.c 2012-08-14 04:49:18 +0000
@@ -5831,8 +5831,8 @@
a special way just before the sweep phase, and after stripping
some of its elements that are not needed any more. */
- mark_overlay (buffer_get_overlays (buffer, OV_BEFORE));
- mark_overlay (buffer_get_overlays (buffer, OV_AFTER));
+ mark_overlay (buffer->overlays_before);
+ mark_overlay (buffer->overlays_after);
/* If this is an indirect buffer, mark its base buffer. */
if (buffer->base_buffer && !VECTOR_MARKED_P (buffer->base_buffer))
=== modified file 'src/buffer.c'
--- a/src/buffer.c 2012-08-13 03:39:07 +0000
+++ b/src/buffer.c 2012-08-14 04:49:18 +0000
@@ -474,10 +474,8 @@
memcpy (to->local_flags, from->local_flags, sizeof to->local_flags);
- buffer_set_overlays
- (to, copy_overlays (to, buffer_get_overlays (from, OV_BEFORE)), OV_BEFORE);
- buffer_set_overlays
- (to, copy_overlays (to, buffer_get_overlays (from, OV_AFTER)), OV_AFTER);
+ buffer_set_overlays_before (to, copy_overlays (to, from->overlays_before));
+ buffer_set_overlays_after (to, copy_overlays (to, from->overlays_after));
/* Get (a copy of) the alist of Lisp-level local variables of FROM
and install that in TO. */
@@ -676,22 +674,22 @@
{
struct Lisp_Overlay *ov, *next;
- for (ov = buffer_get_overlays (b, OV_BEFORE); ov; ov = next)
- {
- drop_overlay (b, ov);
- next = ov->next;
- ov->next = NULL;
- }
-
- for (ov = buffer_get_overlays (b, OV_AFTER); ov; ov = next)
- {
- drop_overlay (b, ov);
- next = ov->next;
- ov->next = NULL;
- }
-
- buffer_set_overlays (b, NULL, OV_BEFORE);
- buffer_set_overlays (b, NULL, OV_AFTER);
+ for (ov = b->overlays_before; ov; ov = next)
+ {
+ drop_overlay (b, ov);
+ next = ov->next;
+ ov->next = NULL;
+ }
+
+ for (ov = b->overlays_after; ov; ov = next)
+ {
+ drop_overlay (b, ov);
+ next = ov->next;
+ ov->next = NULL;
+ }
+
+ buffer_set_overlays_before (b, NULL);
+ buffer_set_overlays_after (b, NULL);
}
/* Reinitialize everything about a buffer except its name and contents
@@ -720,8 +718,8 @@
b->auto_save_failure_time = 0;
BSET (b, auto_save_file_name, Qnil);
BSET (b, read_only, Qnil);
- buffer_set_overlays (b, NULL, OV_BEFORE);
- buffer_set_overlays (b, NULL, OV_AFTER);
+ buffer_set_overlays_before (b, NULL);
+ buffer_set_overlays_after (b, NULL);
b->overlay_center = BEG;
BSET (b, mark_active, Qnil);
BSET (b, point_before_scroll, Qnil);
@@ -2608,7 +2606,7 @@
ptrdiff_t prev = BEGV;
int inhibit_storing = 0;
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
@@ -2656,7 +2654,7 @@
next = startpos;
}
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
@@ -2743,7 +2741,7 @@
int inhibit_storing = 0;
int end_is_Z = end == Z;
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
@@ -2790,7 +2788,7 @@
next = startpos;
}
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
@@ -2880,7 +2878,7 @@
Lisp_Object overlay;
struct Lisp_Overlay *tail;
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
ptrdiff_t endpos;
@@ -2894,7 +2892,7 @@
return 1;
}
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
ptrdiff_t startpos;
@@ -3095,7 +3093,7 @@
overlay_heads.used = overlay_heads.bytes = 0;
overlay_tails.used = overlay_tails.bytes = 0;
- for (ov = buffer_get_overlays (NULL, OV_BEFORE); ov; ov = ov->next)
+ for (ov = current_buffer->overlays_before; ov; ov = ov->next)
{
XSETMISC (overlay, ov);
eassert (OVERLAYP (overlay));
@@ -3123,7 +3121,7 @@
Foverlay_get (overlay, Qpriority),
endpos - startpos);
}
- for (ov = buffer_get_overlays (NULL, OV_AFTER); ov; ov = ov->next)
+ for (ov = current_buffer->overlays_after; ov; ov = ov->next)
{
XSETMISC (overlay, ov);
eassert (OVERLAYP (overlay));
@@ -3221,7 +3219,7 @@
But we use it for symmetry and in case that should cease to be true
with some future change. */
prev = NULL;
- for (tail = buffer_get_overlays (buf, OV_BEFORE); tail; prev = tail, tail =
next)
+ for (tail = buf->overlays_before; tail; prev = tail, tail = next)
{
next = tail->next;
XSETMISC (overlay, tail);
@@ -3240,11 +3238,11 @@
if (prev)
prev->next = next;
else
- buffer_set_overlays (buf, next, OV_BEFORE);
+ buffer_set_overlays_before (buf, next);
/* Search thru overlays_after for where to put it. */
other_prev = NULL;
- for (other = buffer_get_overlays (buf, OV_AFTER); other;
+ for (other = buf->overlays_after; other;
other_prev = other, other = other->next)
{
Lisp_Object otherbeg, otheroverlay;
@@ -3262,7 +3260,7 @@
if (other_prev)
other_prev->next = tail;
else
- buffer_set_overlays (buf, tail, OV_AFTER);
+ buffer_set_overlays_after (buf, tail);
tail = prev;
}
else
@@ -3274,7 +3272,7 @@
/* See if anything in overlays_after should be in overlays_before. */
prev = NULL;
- for (tail = buffer_get_overlays (buf, OV_AFTER); tail; prev = tail, tail =
next)
+ for (tail = buf->overlays_after; tail; prev = tail, tail = next)
{
next = tail->next;
XSETMISC (overlay, tail);
@@ -3298,11 +3296,11 @@
if (prev)
prev->next = next;
else
- buffer_set_overlays (buf, next, OV_AFTER);
+ buffer_set_overlays_after (buf, next);
/* Search thru overlays_before for where to put it. */
other_prev = NULL;
- for (other = buffer_get_overlays (buf, OV_BEFORE); other;
+ for (other = buf->overlays_before; other;
other_prev = other, other = other->next)
{
Lisp_Object otherend, otheroverlay;
@@ -3320,7 +3318,7 @@
if (other_prev)
other_prev->next = tail;
else
- buffer_set_overlays (buf, tail, OV_BEFORE);
+ buffer_set_overlays_before (buf, tail);
tail = prev;
}
}
@@ -3373,7 +3371,7 @@
assigned. */
struct Lisp_Overlay *beforep = NULL, *afterp = NULL;
/* 'Parent', likewise, indicates a cons cell or
- before or after overlays list, depending
+ current_buffer->overlays_before or overlays_after, depending
which loop we're in. */
struct Lisp_Overlay *tail, *parent;
ptrdiff_t startpos, endpos;
@@ -3385,7 +3383,7 @@
(after_list) if it is, is still uninitialized. So it's not a bug
that before_list isn't initialized, although it may look
strange. */
- for (parent = NULL, tail = buffer_get_overlays (NULL, OV_BEFORE); tail;)
+ for (parent = NULL, tail = current_buffer->overlays_before; tail;)
{
XSETMISC (overlay, tail);
@@ -3425,7 +3423,7 @@
beforep = tail;
}
if (!parent)
- buffer_set_overlays (NULL, tail->next, OV_BEFORE);
+ buffer_set_overlays_before (current_buffer, tail->next);
else
parent->next = tail->next;
tail = tail->next;
@@ -3433,7 +3431,7 @@
else
parent = tail, tail = parent->next;
}
- for (parent = NULL, tail = buffer_get_overlays (NULL, OV_AFTER); tail;)
+ for (parent = NULL, tail = current_buffer->overlays_after; tail;)
{
XSETMISC (overlay, tail);
@@ -3471,7 +3469,7 @@
beforep = tail;
}
if (!parent)
- buffer_set_overlays (NULL, tail->next, OV_AFTER);
+ buffer_set_overlays_after (current_buffer, tail->next);
else
parent->next = tail->next;
tail = tail->next;
@@ -3484,15 +3482,15 @@
and let the recenter function make it sane again. */
if (beforep)
{
- beforep->next = buffer_get_overlays (NULL, OV_BEFORE);
- buffer_set_overlays (NULL, before_list, OV_BEFORE);
+ beforep->next = current_buffer->overlays_before;
+ buffer_set_overlays_before (current_buffer, before_list);
}
recenter_overlay_lists (current_buffer, current_buffer->overlay_center);
if (afterp)
{
- afterp->next = buffer_get_overlays (NULL, OV_AFTER);
- buffer_set_overlays (NULL, after_list, OV_AFTER);
+ afterp->next = current_buffer->overlays_after;
+ buffer_set_overlays_after (current_buffer, after_list);
}
recenter_overlay_lists (current_buffer, current_buffer->overlay_center);
}
@@ -3513,8 +3511,7 @@
fix_overlays_before (struct buffer *bp, ptrdiff_t prev, ptrdiff_t pos)
{
/* If parent is nil, replace overlays_before; otherwise, parent->next. */
- struct Lisp_Overlay *tail = buffer_get_overlays (bp, OV_BEFORE);
- struct Lisp_Overlay *parent = NULL, *right_pair;
+ struct Lisp_Overlay *tail = bp->overlays_before, *parent = NULL, *right_pair;
Lisp_Object tem;
ptrdiff_t end IF_LINT (= 0);
@@ -3569,8 +3566,8 @@
and link it into the right place. */
if (!right_pair)
{
- found->next = buffer_get_overlays (bp, OV_BEFORE);
- buffer_set_overlays (bp, found, OV_BEFORE);
+ found->next = bp->overlays_before;
+ buffer_set_overlays_before (bp, found);
}
else
{
@@ -3646,15 +3643,15 @@
end = OVERLAY_END (overlay);
if (OVERLAY_POSITION (end) < b->overlay_center)
{
- if (buffer_get_overlays (b, OV_AFTER))
- XOVERLAY (overlay)->next = buffer_get_overlays (b, OV_AFTER);
- buffer_set_overlays (b, XOVERLAY (overlay), OV_AFTER);
+ if (b->overlays_after)
+ XOVERLAY (overlay)->next = b->overlays_after;
+ buffer_set_overlays_after (b, XOVERLAY (overlay));
}
else
{
- if (buffer_get_overlays (b, OV_BEFORE))
- XOVERLAY (overlay)->next = buffer_get_overlays (b, OV_BEFORE);
- buffer_set_overlays (b, XOVERLAY (overlay), OV_BEFORE);
+ if (b->overlays_before)
+ XOVERLAY (overlay)->next = b->overlays_before;
+ buffer_set_overlays_before (b, XOVERLAY (overlay));
}
/* This puts it in the right list, and in the right order. */
@@ -3719,10 +3716,9 @@
{
struct Lisp_Overlay *ov = XOVERLAY (overlay);
- buffer_set_overlays
- (b, unchain_overlay (buffer_get_overlays (b, OV_BEFORE), ov), OV_BEFORE);
- buffer_set_overlays
- (b, unchain_overlay (buffer_get_overlays (b, OV_AFTER), ov), OV_AFTER);
+ buffer_set_overlays_before (b, unchain_overlay (b->overlays_before, ov));
+ buffer_set_overlays_after (b, unchain_overlay (b->overlays_after, ov));
+ eassert (XOVERLAY (overlay)->next == NULL);
}
DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0,
@@ -3776,7 +3772,6 @@
o_end = OVERLAY_POSITION (OVERLAY_END (overlay));
unchain_both (ob, overlay);
- eassert (XOVERLAY (overlay)->next == NULL);
}
/* Set the overlay boundaries, which may clip them. */
@@ -3816,13 +3811,13 @@
wrong list. */
if (n_end < b->overlay_center)
{
- XOVERLAY (overlay)->next = buffer_get_overlays (b, OV_AFTER);
- buffer_set_overlays (b, XOVERLAY (overlay), OV_AFTER);
+ XOVERLAY (overlay)->next = b->overlays_after;
+ buffer_set_overlays_after (b, XOVERLAY (overlay));
}
else
{
- XOVERLAY (overlay)->next = buffer_get_overlays (b, OV_BEFORE);
- buffer_set_overlays (b, XOVERLAY (overlay), OV_BEFORE);
+ XOVERLAY (overlay)->next = b->overlays_before;
+ buffer_set_overlays_before (b, XOVERLAY (overlay));
}
/* This puts it in the right list, and in the right order. */
@@ -3849,8 +3844,6 @@
specbind (Qinhibit_quit, Qt);
unchain_both (b, overlay);
- eassert (XOVERLAY (overlay)->next == NULL);
-
drop_overlay (b, XOVERLAY (overlay));
/* When deleting an overlay with before or after strings, turn off
@@ -4048,13 +4041,12 @@
struct Lisp_Overlay *ol;
Lisp_Object before = Qnil, after = Qnil, tmp;
- for (ol = buffer_get_overlays (NULL, OV_BEFORE); ol; ol = ol->next)
+ for (ol = current_buffer->overlays_before; ol; ol = ol->next)
{
XSETMISC (tmp, ol);
before = Fcons (tmp, before);
}
-
- for (ol = buffer_get_overlays (NULL, OV_AFTER); ol; ol = ol->next)
+ for (ol = current_buffer->overlays_after; ol; ol = ol->next)
{
XSETMISC (tmp, ol);
after = Fcons (tmp, after);
@@ -4199,7 +4191,7 @@
/* We are being called before a change.
Scan the overlays to find the functions to call. */
last_overlay_modification_hooks_used = 0;
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail =
tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
Lisp_Object ostart, oend;
@@ -4236,7 +4228,7 @@
}
}
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail =
tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
ptrdiff_t startpos, endpos;
Lisp_Object ostart, oend;
@@ -4328,7 +4320,7 @@
hit_list = Qnil;
if (pos <= current_buffer->overlay_center)
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
ptrdiff_t endpos;
XSETMISC (overlay, tail);
@@ -4340,7 +4332,7 @@
hit_list = Fcons (overlay, hit_list);
}
else
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
ptrdiff_t startpos;
XSETMISC (overlay, tail);
@@ -4946,8 +4938,8 @@
BSET (&buffer_defaults, mark_active, Qnil);
BSET (&buffer_defaults, file_format, Qnil);
BSET (&buffer_defaults, auto_save_file_format, Qt);
- buffer_defaults.overlays_before = NULL;
- buffer_defaults.overlays_after = NULL;
+ buffer_set_overlays_before (&buffer_defaults, NULL);
+ buffer_set_overlays_after (&buffer_defaults, NULL);
buffer_defaults.overlay_center = BEG;
XSETFASTINT (BVAR (&buffer_defaults, tab_width), 8);
=== modified file 'src/buffer.h'
--- a/src/buffer.h 2012-08-13 03:39:07 +0000
+++ b/src/buffer.h 2012-08-14 04:49:18 +0000
@@ -946,52 +946,6 @@
}
\
} while (0)
-enum overlay_type
-{
- OV_BEFORE,
- OV_AFTER
-};
-
-/* Get overlay list of type T and belonging to B. */
-
-BUFFER_INLINE struct Lisp_Overlay *
-buffer_get_overlays (struct buffer *b, enum overlay_type t)
-{
- if (!b)
- b = current_buffer;
- if (t == OV_BEFORE)
- return b->overlays_before;
- else if (t == OV_AFTER)
- return b->overlays_after;
- else
- abort ();
-}
-
-/* Set overlay list of type T as belonging to B. */
-
-BUFFER_INLINE void
-buffer_set_overlays (struct buffer *b, struct Lisp_Overlay *o,
- enum overlay_type t)
-{
- if (!b)
- b = current_buffer;
- if (t == OV_BEFORE)
- b->overlays_before = o;
- else if (t == OV_AFTER)
- b->overlays_after = o;
- else
- abort ();
-}
-
-/* Non-zero if current buffer has overlays. */
-
-BUFFER_INLINE int
-buffer_has_overlays (void)
-{
- return buffer_get_overlays (current_buffer, OV_BEFORE)
- || buffer_get_overlays (current_buffer, OV_AFTER);
-}
-
extern Lisp_Object Qbefore_change_functions;
extern Lisp_Object Qafter_change_functions;
extern Lisp_Object Qfirst_change_hook;
@@ -1014,6 +968,28 @@
b->text->intervals = i;
}
+/* Set an appropriate overlay of B. */
+
+BUFFER_INLINE void
+buffer_set_overlays_before (struct buffer *b, struct Lisp_Overlay *o)
+{
+ b->overlays_before = o;
+}
+
+BUFFER_INLINE void
+buffer_set_overlays_after (struct buffer *b, struct Lisp_Overlay *o)
+{
+ b->overlays_after = o;
+}
+
+/* Non-zero if current buffer has overlays. */
+
+BUFFER_INLINE int
+buffer_has_overlays (void)
+{
+ return current_buffer->overlays_before || current_buffer->overlays_after;
+}
+
/* Return character code of multi-byte form at byte position POS. If POS
doesn't point the head of valid multi-byte form, only the byte at
POS is returned. No range checking.
=== modified file 'src/editfns.c'
--- a/src/editfns.c 2012-08-13 03:39:07 +0000
+++ b/src/editfns.c 2012-08-14 04:49:18 +0000
@@ -310,7 +310,7 @@
ptrdiff_t startpos, endpos;
ptrdiff_t idx = 0;
- for (tail = buffer_get_overlays (NULL, OV_BEFORE); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_before; tail; tail = tail->next)
{
XSETMISC (overlay, tail);
@@ -329,7 +329,7 @@
}
}
- for (tail = buffer_get_overlays (NULL, OV_AFTER); tail; tail = tail->next)
+ for (tail = current_buffer->overlays_after; tail; tail = tail->next)
{
XSETMISC (overlay, tail);
=== modified file 'src/fileio.c'
--- a/src/fileio.c 2012-08-13 03:39:07 +0000
+++ b/src/fileio.c 2012-08-14 04:49:18 +0000
@@ -3490,8 +3490,8 @@
BSET (buf, read_only, Qnil);
BSET (buf, filename, Qnil);
BSET (buf, undo_list, Qt);
- eassert (buffer_get_overlays (buf, OV_BEFORE) == NULL);
- eassert (buffer_get_overlays (buf, OV_AFTER) == NULL);
+ eassert (buf->overlays_before == NULL);
+ eassert (buf->overlays_after == NULL);
set_buffer_internal (buf);
Ferase_buffer ();
=== modified file 'src/print.c'
--- a/src/print.c 2012-08-13 03:39:07 +0000
+++ b/src/print.c 2012-08-14 04:49:18 +0000
@@ -498,10 +498,10 @@
BSET (current_buffer, read_only, Qnil);
BSET (current_buffer, filename, Qnil);
BSET (current_buffer, undo_list, Qt);
- eassert (buffer_get_overlays (NULL, OV_BEFORE) == NULL);
- eassert (buffer_get_overlays (NULL, OV_AFTER) == NULL);
+ eassert (current_buffer->overlays_before == NULL);
+ eassert (current_buffer->overlays_after == NULL);
BSET (current_buffer, enable_multibyte_characters,
- BVAR (&buffer_defaults, enable_multibyte_characters));
+ BVAR (&buffer_defaults, enable_multibyte_characters));
specbind (Qinhibit_read_only, Qt);
specbind (Qinhibit_modification_hooks, Qt);
Ferase_buffer ();
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2012-08-13 03:39:07 +0000
+++ b/src/xdisp.c 2012-08-14 04:49:18 +0000
@@ -5445,7 +5445,7 @@
while (0)
/* Process overlay before the overlay center. */
- for (ov = buffer_get_overlays (NULL, OV_BEFORE); ov; ov = ov->next)
+ for (ov = current_buffer->overlays_before; ov; ov = ov->next)
{
XSETMISC (overlay, ov);
eassert (OVERLAYP (overlay));
@@ -5485,7 +5485,7 @@
}
/* Process overlays after the overlay center. */
- for (ov = buffer_get_overlays (NULL, OV_AFTER); ov; ov = ov->next)
+ for (ov = current_buffer->overlays_after; ov; ov = ov->next)
{
XSETMISC (overlay, ov);
eassert (OVERLAYP (overlay));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109594: Revert and cleanup some recent overlay changes.,
Dmitry Antipov <=