aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/span.el
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>2004-08-25 11:28:14 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>2004-08-25 11:28:14 +0000
commit2b1759c642c23de80c28655330124a8385432aec (patch)
treedd173b3eb6b750902c59d5268f89029d571085ea /lib/span.el
parentec512d4235f7ef1262118bf415769d42100a40e4 (diff)
Renamed file
Diffstat (limited to 'lib/span.el')
-rw-r--r--lib/span.el39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/span.el b/lib/span.el
new file mode 100644
index 00000000..eb609f39
--- /dev/null
+++ b/lib/span.el
@@ -0,0 +1,39 @@
+;; span.el Datatype of "spans" for Proof General.
+;;
+;; Copyright (C) 1998 LFCS Edinburgh
+;; Author: Healfdene Goguen
+;; License: GPL (GNU GENERAL PUBLIC LICENSE)
+;;
+;; $Id$
+
+;;
+;; Spans are our abstraction of extents/overlays.
+;;
+(eval-and-compile
+ (cond ((string-match "XEmacs" emacs-version)
+ (require 'span-extent))
+ (t
+ (require 'span-overlay))))
+
+;;
+;; Generic functions built on low-level concrete ones.
+;;
+
+(defsubst delete-spans (start end prop)
+ "Delete all spans between START and END with property PROP set."
+ (mapcar-spans 'delete-span start end prop))
+
+(defsubst span-property-safe (span name)
+ "Like span-property, but return nil if SPAN is nil."
+ (and span (span-property span name)))
+
+(defsubst set-span-start (span value)
+ "Set the start point of SPAN to VALUE."
+ (set-span-endpoints span value (span-end span)))
+
+(defsubst set-span-end (span value)
+ "Set the end point of SPAN to VALUE."
+ (set-span-endpoints span (span-start span) value))
+
+(provide 'span)
+;; span.el ends here.