* lisp.h (Lisp_Overlay): New tag.
authorJim Blandy <jimb@redhat.com>
Fri, 14 May 1993 14:36:01 +0000 (14:36 +0000)
committerJim Blandy <jimb@redhat.com>
Fri, 14 May 1993 14:36:01 +0000 (14:36 +0000)
commit52f8ec734ea9baabbbb91c773964f435b152105f
tree2a7bac1646cd1a88de56a82a08dfc371acd71746
parentd855a60363bc4116e186bf5d3e4335f6c88f4871
* 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.

* buffer.c (Foverlay_get): Return Qnil if the requested property
is missing from the property list.
src/buffer.c