aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHealfdene Goguen1998-05-15 16:24:53 +0000
committerHealfdene Goguen1998-05-15 16:24:53 +0000
commitd119d80c73d525760c5eacf637723199d94d8ae6 (patch)
tree4e028d702a02367ca7bd9e7ab2270c43db013020
parentc4941390acd21b56f69155d87f48893dbea1fffe (diff)
Dependencies on versions of emacs have been moved to span-extent.el
and span-overlay.el. This file was developed for xemacs.
-rw-r--r--span-extent.el53
1 files changed, 53 insertions, 0 deletions
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)