aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2003-03-31 20:56:14 +0000
committerStefan Monnier2003-03-31 20:56:14 +0000
commita604e2b4575b02713b63ff6336d2f55725e0f19f (patch)
tree1bdf2b82a4845e7e1293e499c486f356528c14b7
parent2731a0ade1c67811317ff9bb961999c50e352e7c (diff)
downloademacs-a604e2b4575b02713b63ff6336d2f55725e0f19f.tar.gz
emacs-a604e2b4575b02713b63ff6336d2f55725e0f19f.zip
(reveal-post-command): Better error handling and debugging.
-rw-r--r--lisp/reveal.el14
1 files changed, 11 insertions, 3 deletions
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 245c7a3c4a0..c30686e4e27 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -61,6 +61,8 @@
61 61
62;; Actual code 62;; Actual code
63 63
64(defvar reveal-backtrace nil)
65
64(defun reveal-post-command () 66(defun reveal-post-command ()
65 ;; Refresh the spots that might have changed. 67 ;; Refresh the spots that might have changed.
66 ;; `Refreshing' here means to try and re-hide the corresponding text. 68 ;; `Refreshing' here means to try and re-hide the corresponding text.
@@ -107,7 +109,11 @@
107 (setq repeat t) 109 (setq repeat t)
108 (condition-case err 110 (condition-case err
109 (funcall open ol nil) 111 (funcall open ol nil)
110 (error (message "!!Reveal-show: %s !!" err)))))))) 112 (error (setq reveal-backtrace (backtrace))
113 (message "!!Reveal-show: %s !!" err)
114 ;; Let's default to a meaningful behavior to avoid
115 ;; getting stuck in an infinite loop.
116 (overlay-put ol 'invisible nil))))))))
111 ;; Close old overlays. 117 ;; Close old overlays.
112 (dolist (ol old-ols) 118 (dolist (ol old-ols)
113 (when (and (eq (current-buffer) (overlay-buffer ol)) 119 (when (and (eq (current-buffer) (overlay-buffer ol))
@@ -128,9 +134,11 @@
128 (get ol 'isearch-open-invisible-temporary))))) 134 (get ol 'isearch-open-invisible-temporary)))))
129 (condition-case err 135 (condition-case err
130 (funcall open ol t) 136 (funcall open ol t)
131 (error (message "!!Reveal-hide: %s !!" err))) 137 (error (setq reveal-backtrace (backtrace))
138 (message "!!Reveal-hide: %s !!" err)))
132 (overlay-put ol 'invisible inv))))))) 139 (overlay-put ol 'invisible inv)))))))
133 (error (message "Reveal: %s" err))))) 140 (error (setq reveal-backtrace (backtrace))
141 (message "Reveal: %s" err)))))
134 142
135;;;###autoload 143;;;###autoload
136(define-minor-mode reveal-mode 144(define-minor-mode reveal-mode