aboutsummaryrefslogtreecommitdiffhomepage
path: root/generic/proof-depends.el
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>2009-12-02 23:34:19 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>2009-12-02 23:34:19 +0000
commiteb653da33773e3a4d9d46ee098ebb57dfc7f9090 (patch)
treec310d4b3d902d18e9910c47a9b41dd6d9cbb0e43 /generic/proof-depends.el
parentba1298d5e2072ae9a5be84a3d0bc8a2e00722be5 (diff)
Better approximation of restoring old highlighting, by caching saved face.
Diffstat (limited to 'generic/proof-depends.el')
-rw-r--r--generic/proof-depends.el20
1 files changed, 16 insertions, 4 deletions
diff --git a/generic/proof-depends.el b/generic/proof-depends.el
index 0f2a0108..22d5f055 100644
--- a/generic/proof-depends.el
+++ b/generic/proof-depends.el
@@ -232,6 +232,7 @@ This is simply to display the dependency somehow."
(let ((helpmsg (concat "This item is a dependency (ancestor) of " name)))
(while nmspans
(let ((span (cadar nmspans)))
+ (proof-depends-save-old-face)
(span-set-property span 'face 'proof-highlight-dependency-face)
(span-set-property span 'priority pg-dep-span-priority)
(span-set-property span 'mouse-highlight nil)
@@ -242,6 +243,7 @@ This is simply to display the dependency somehow."
(let ((helpmsg (concat "This item depends on (is a child of) " name)))
(while nmspans
(let ((span (cadar nmspans)))
+ (proof-depends-save-old-face)
(span-set-property span 'face 'proof-highlight-dependent-face)
(span-set-property span 'priority pg-dep-span-priority)
(span-set-property span 'mouse-highlight nil)
@@ -249,16 +251,26 @@ This is simply to display the dependency somehow."
(span-set-property span 'balloon-help helpmsg))
(setq nmspans (cdr nmspans)))))
+(defun proof-depends-save-old-face (span)
+ (unless (span-property span 'depends-old-face)
+ (span-set-property span 'depends-old-face
+ (span-property span 'face))))
+
+(defun proof-depends-restore-old-face (span)
+ (when (span-property span 'depends-old-face)
+ (span-set-property span 'face
+ (span-property span 'depends-old-face))
+ (span-set-property span 'depends-old-face nil)))
+
(defun proof-dep-unhighlight ()
- "Returned all highlighted spans in file to the `proof-locked-face' highlighting."
+ "Remove additional highlighting on all spans in file to their default."
(interactive)
- ;; FIXME: not quite right! Will highlight spans in queue as locked too,
- ;; and covers too many spans.
(save-excursion
(let ((span (span-at (point-min) 'type)))
+ ;; FIXME: covers too many spans!
(while span
(pg-set-span-helphighlights span 'nohighlight)
- (span-set-property span 'face 'proof-locked-face)
+ (proof-depends-restore-old-face span)
(span-set-property span 'priority pg-ordinary-span-priority)
(setq span (next-span span 'type))))))