aboutsummaryrefslogtreecommitdiffhomepage
path: root/generic/span-extent.el
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>1998-09-03 13:51:41 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>1998-09-03 13:51:41 +0000
commit8b836f84d70fcea59ffa186f6809ebc6765b8a5f (patch)
tree8dc74b560cadf3b6e847e547776ccd0015dfa7f1 /generic/span-extent.el
parentabbe57d8b69d79e9eb6899f182379d9c6c4fdc7f (diff)
Renamed for new subdirectory structure
Diffstat (limited to 'generic/span-extent.el')
-rw-r--r--generic/span-extent.el82
1 files changed, 82 insertions, 0 deletions
diff --git a/generic/span-extent.el b/generic/span-extent.el
new file mode 100644
index 00000000..6e6183cd
--- /dev/null
+++ b/generic/span-extent.el
@@ -0,0 +1,82 @@
+;;; This file implements spans in terms of extents, for xemacs.
+;;; Copyright (C) 1998 LFCS Edinburgh
+;;; Author: Healfdene Goguen
+
+;; Maintainer: LEGO Team <lego@dcs.ed.ac.uk>
+
+;; $Log$
+;; Revision 1.1 1998/09/03 13:51:33 da
+;; Renamed for new subdirectory structure
+;;
+;; Revision 2.0 1998/08/11 15:00:13 da
+;; New branch
+;;
+;; Revision 1.4 1998/06/10 14:01:48 hhg
+;; Wrote generic span functions for making spans read-only or read-write.
+;;
+;; Revision 1.3 1998/06/02 15:36:44 hhg
+;; Corrected comment about this being for xemacs.
+;;
+;; Revision 1.2 1998/05/19 15:30:27 hhg
+;; Added header and log message.
+;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Bridging the emacs19/xemacs gulf ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; 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-read-only (span)
+ (set-span-property span 'read-only t))
+
+(defsubst span-read-write (span)
+ (set-span-property span 'read-only nil))
+
+(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)