diff options
| author | Jim Blandy | 1993-05-14 14:43:00 +0000 |
|---|---|---|
| committer | Jim Blandy | 1993-05-14 14:43:00 +0000 |
| commit | 6c523803b30c3d41a21ce36fbfb0437bf6ce68e5 (patch) | |
| tree | 199b84236efddfe3266049b14df615cb0f8a4ee1 /src/buffer.h | |
| parent | 93b9120871c50c14ed8818b380307174383c4fd6 (diff) | |
| download | emacs-6c523803b30c3d41a21ce36fbfb0437bf6ce68e5.tar.gz emacs-6c523803b30c3d41a21ce36fbfb0437bf6ce68e5.zip | |
* 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/buffer.h')
| -rw-r--r-- | src/buffer.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/buffer.h b/src/buffer.h index 34d92fd61c7..3ab666c07bf 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -370,7 +370,7 @@ extern Lisp_Object Vtransient_mark_mode; | |||
| 370 | Therefore, we cannot assume that they remain valid--we must check. */ | 370 | Therefore, we cannot assume that they remain valid--we must check. */ |
| 371 | 371 | ||
| 372 | /* 1 if the OV is a cons cell whose car is a cons cell. */ | 372 | /* 1 if the OV is a cons cell whose car is a cons cell. */ |
| 373 | #define OVERLAY_VALID(OV) (CONSP ((OV)) && CONSP (XCONS ((OV))->car)) | 373 | #define OVERLAY_VALID(OV) (OVERLAYP (OV)) |
| 374 | 374 | ||
| 375 | /* Return the marker that stands for where OV starts in the buffer. */ | 375 | /* Return the marker that stands for where OV starts in the buffer. */ |
| 376 | #define OVERLAY_START(OV) (XCONS (XCONS ((OV))->car)->car) | 376 | #define OVERLAY_START(OV) (XCONS (XCONS ((OV))->car)->car) |
| @@ -386,7 +386,6 @@ extern Lisp_Object Vtransient_mark_mode; | |||
| 386 | ((MARKERP ((P)) && XMARKER ((P))->buffer == current_buffer) \ | 386 | ((MARKERP ((P)) && XMARKER ((P))->buffer == current_buffer) \ |
| 387 | ? marker_position ((P)) : 0) | 387 | ? marker_position ((P)) : 0) |
| 388 | 388 | ||
| 389 | |||
| 390 | /* Allocation of buffer text. */ | 389 | /* Allocation of buffer text. */ |
| 391 | 390 | ||
| 392 | #ifdef REL_ALLOC | 391 | #ifdef REL_ALLOC |