changeset 2787:995c6e665599

* buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer, Foverlay_properties): Functions moved here from subr.el.
author Jim Blandy <jimb@redhat.com>
date Fri, 14 May 1993 15:35:17 +0000
parents 286057aa81c7
children 30919bba8508
files src/buffer.c
diffstat 1 files changed, 49 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/buffer.c	Fri May 14 15:21:50 1993 +0000
+++ b/src/buffer.c	Fri May 14 15:35:17 1993 +0000
@@ -1591,6 +1591,51 @@
   return Qnil;
 }
 
+/* Overlay dissection functions.  */
+
+DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
+  "Return the position at which OVERLAY starts.")
+     (overlay)
+     Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return (Fmarker_position (OVERLAY_START (overlay)));
+}
+
+DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
+  "Return the position at which OVERLAY ends.")
+     (overlay)
+     Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return (Fmarker_position (OVERLAY_END (overlay)));
+}
+
+DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
+  "Return the buffer OVERLAY belongs to.")
+     (overlay)
+       Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return Fmarker_buffer (OVERLAY_START (overlay));
+}
+
+DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0,
+  "Return a list of the properties on OVERLAY.\n\
+This is a copy of OVERLAY's plist; modifying its conses has no effect on\n\
+OVERLAY.")
+  (overlay)
+    Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return Fcopy_sequence (Fcdr_safe (XCONS (overlay)->cdr));
+}
+
+
 DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
   "Return a list of the overays that contain position POS.")
   (pos)
@@ -2246,6 +2291,10 @@
   defsubr (&Smake_overlay);
   defsubr (&Sdelete_overlay);
   defsubr (&Smove_overlay);
+  defsubr (&Soverlay_start);
+  defsubr (&Soverlay_end);
+  defsubr (&Soverlay_buffer);
+  defsubr (&Soverlay_properties);
   defsubr (&Soverlays_at);
   defsubr (&Snext_overlay_change);
   defsubr (&Soverlay_recenter);