aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorJim Blandy <[email protected]>1993-05-14 14:43:00 +0000
committerJim Blandy <[email protected]>1993-05-14 14:43:00 +0000
commit6c523803b30c3d41a21ce36fbfb0437bf6ce68e5 (patch)
tree199b84236efddfe3266049b14df615cb0f8a4ee1 /src/alloc.c
parent93b9120871c50c14ed8818b380307174383c4fd6 (diff)
* 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/alloc.c')
-rw-r--r--src/alloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index b0c120bad8..6aaa34dfc2 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -1609,6 +1609,7 @@ mark_object (objptr)
case Lisp_Cons:
case Lisp_Buffer_Local_Value:
case Lisp_Some_Buffer_Local_Value:
+ case Lisp_Overlay:
{
register struct Lisp_Cons *ptr = XCONS (obj);
if (XMARKBIT (ptr->car)) break;