From d119d80c73d525760c5eacf637723199d94d8ae6 Mon Sep 17 00:00:00 2001 From: Healfdene Goguen Date: Fri, 15 May 1998 16:24:53 +0000 Subject: Dependencies on versions of emacs have been moved to span-extent.el and span-overlay.el. This file was developed for xemacs. --- span-extent.el | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 span-extent.el diff --git a/span-extent.el b/span-extent.el new file mode 100644 index 00000000..283583d4 --- /dev/null +++ b/span-extent.el @@ -0,0 +1,53 @@ +; This file is an attempt to abstract away from the differences between +; XEmacs and FSF Emacs. Everything that is done differently between one +; or other version should be appropriately wrapped in here. + +;;; Now define "spans" in terms of extents. + +(defsubst make-span (start end) + (make-extent start end)) + +(defsubst detach-span (span) + (detach-extent span)) + +(defsubst set-span-endpoints (span start end) + (set-extent-endpoints span start end)) + +(defsubst set-span-start (span value) + (set-extent-endpoints span value (extent-end-position span))) + +(defsubst set-span-end (span value) + (set-extent-endpoints span (extent-start-position span) value)) + +(defsubst span-property (span name) + (extent-property span name)) + +(defsubst set-span-property (span name value) + (set-extent-property span name value)) + +(defsubst delete-span (span) + (delete-extent span)) + +(defsubst delete-spans (start end prop) + (mapcar-extents 'delete-extent nil (current-buffer) start end nil prop)) + +(defsubst span-at (pt prop) + (extent-at pt nil prop)) + +(defsubst span-at-before (pt prop) + (extent-at pt nil prop nil 'before)) + +(defsubst span-start (span) + (extent-start-position span)) + +(defsubst span-end (span) + (extent-end-position span)) + +(defsubst prev-span (span prop) + (extent-at (extent-start-position span) nil prop nil 'before)) + +(defsubst next-span (span prop) + (extent-at (extent-end-position span) nil prop nil 'after)) + + +(provide 'span-extent) -- cgit v1.2.3