diff options
author | Jim Blandy <jimb@redhat.com> | 1993-05-14 14:43:00 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1993-05-14 14:43:00 +0000 |
commit | b71a12ded856414d264acf9a27a36ba173b9a2b2 (patch) | |
tree | 7647e48fc3ad8e61a72918cd2479f7303cf1d776 /src/fns.c | |
parent | efa6962c19ae6fb83ee591b7118fb7762921087d (diff) | |
download | emacs-b71a12ded856414d264acf9a27a36ba173b9a2b2.tar.gz |
* lisp.h (Lisp_Overlay): New tag.
(OVERLAYP): New predicate.
(CHECK_OVERLAY): New type-checker.
(Qoverlayp): New extern declaration.
* buffer.c (Foverlayp): New function.
(Qoverlayp): New atom.
(overlays_at, recenter_overlay_lists): Abort if we encounter an
invalid overlay.
(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
(Fdelete_overlay): Set the overlay's markers to point nowhere.
Use CHECK_OVERLAY instead of signalling a special error.
(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
signalling a special error.
(Foverlay_get): Use CHECK_OVERLAY.
* fns.c (internal_equal): Define this for overlays.
* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
* print.c (print): Give overlays their own print syntax.
* alloc.c (mark_object): Treat overlays like conses.
Diffstat (limited to 'src/fns.c')
-rw-r--r-- | src/fns.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fns.c b/src/fns.c index 7990bf431de..328cf984c71 100644 --- a/src/fns.c +++ b/src/fns.c @@ -844,7 +844,8 @@ do_cdr: } #endif if (XTYPE (o1) != XTYPE (o2)) return Qnil; - if (XTYPE (o1) == Lisp_Cons) + if (XTYPE (o1) == Lisp_Cons + || XTYPE (o1) == Lisp_Overlay) { Lisp_Object v1; v1 = internal_equal (Fcar (o1), Fcar (o2), depth + 1); |