summaryrefslogtreecommitdiff
path: root/src/buffer.c
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-11-15 02:02:34 +0000
committerKarl Heuer <kwzh@gnu.org>1994-11-15 02:02:34 +0000
commit48e2e3ba614e1ce32fd3e3400e3050886425c845 (patch)
treeb6fd8a2f5da9f0e919db6cd49f79f0e8c4c5d642 /src/buffer.c
parent53c34c462d2804a2c3d50479a02b0a4c4d2581d1 (diff)
downloademacs-48e2e3ba614e1ce32fd3e3400e3050886425c845.tar.gz
emacs-48e2e3ba614e1ce32fd3e3400e3050886425c845.tar.bz2
emacs-48e2e3ba614e1ce32fd3e3400e3050886425c845.zip
(Fmake_overlay, Foverlay_properties, Foverlay_get, Foverlay_put): Use new
overlay substructure. (list_buffers_1): Use PT, not point.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 98885cc535a..dd7334ea52a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1167,7 +1167,7 @@ list_buffers_1 (files)
continue;
/* Identify the current buffer. */
if (b == old)
- XSETFASTINT (desired_point, point);
+ XSETFASTINT (desired_point, PT);
write_string (b == old ? "." : " ", -1);
/* Identify modified buffers */
write_string (BUF_MODIFF (b) > b->save_modified ? "*" : " ", -1);
@@ -1367,8 +1367,6 @@ overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
int startpos, endpos;
overlay = XCONS (tail)->car;
- if (XGCTYPE (overlay) != Lisp_Overlay)
- abort ();
start = OVERLAY_START (overlay);
end = OVERLAY_END (overlay);
@@ -1414,8 +1412,6 @@ overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
int startpos, endpos;
overlay = XCONS (tail)->car;
- if (XGCTYPE (overlay) != Lisp_Overlay)
- abort ();
start = OVERLAY_START (overlay);
end = OVERLAY_END (overlay);
@@ -1844,8 +1840,11 @@ BEG and END may be integers or markers.")
beg = Fset_marker (Fmake_marker (), beg, buffer);
end = Fset_marker (Fmake_marker (), end, buffer);
- overlay = Fcons (Fcons (beg, end), Qnil);
- XSETTYPE (overlay, Lisp_Overlay);
+ overlay = allocate_misc ();
+ XMISC (overlay)->type = Lisp_Misc_Overlay;
+ XOVERLAY (overlay)->start = beg;
+ XOVERLAY (overlay)->end = end;
+ XOVERLAY (overlay)->plist = Qnil;
/* Put the new overlay on the wrong list. */
end = OVERLAY_END (overlay);
@@ -2049,7 +2048,7 @@ OVERLAY.")
{
CHECK_OVERLAY (overlay, 0);
- return Fcopy_sequence (Fcdr_safe (XCONS (overlay)->cdr));
+ return Fcopy_sequence (XOVERLAY (overlay)->plist);
}
@@ -2203,7 +2202,7 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
fallback = Qnil;
- for (plist = Fcdr_safe (XCONS (overlay)->cdr);
+ for (plist = XOVERLAY (overlay)->plist;
CONSP (plist) && CONSP (XCONS (plist)->cdr);
plist = XCONS (XCONS (plist)->cdr)->cdr)
{
@@ -2226,16 +2225,14 @@ DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0,
(overlay, prop, value)
Lisp_Object overlay, prop, value;
{
- Lisp_Object plist, tail, buffer;
+ Lisp_Object tail, buffer;
int changed;
CHECK_OVERLAY (overlay, 0);
buffer = Fmarker_buffer (OVERLAY_START (overlay));
- plist = Fcdr_safe (XCONS (overlay)->cdr);
-
- for (tail = plist;
+ for (tail = XOVERLAY (overlay)->plist;
CONSP (tail) && CONSP (XCONS (tail)->cdr);
tail = XCONS (XCONS (tail)->cdr)->cdr)
if (EQ (XCONS (tail)->car, prop))
@@ -2246,9 +2243,8 @@ DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0,
}
/* It wasn't in the list, so add it to the front. */
changed = !NILP (value);
- if (! CONSP (XCONS (overlay)->cdr))
- XCONS (overlay)->cdr = Fcons (Qnil, Qnil);
- XCONS (XCONS (overlay)->cdr)->cdr = Fcons (prop, Fcons (value, plist));
+ XOVERLAY (overlay)->plist
+ = Fcons (prop, Fcons (value, XOVERLAY (overlay)->plist));
found:
if (! NILP (buffer))
{