diff options
| author | Stefan Monnier | 2003-03-31 20:56:14 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2003-03-31 20:56:14 +0000 |
| commit | a604e2b4575b02713b63ff6336d2f55725e0f19f (patch) | |
| tree | 1bdf2b82a4845e7e1293e499c486f356528c14b7 | |
| parent | 2731a0ade1c67811317ff9bb961999c50e352e7c (diff) | |
| download | emacs-a604e2b4575b02713b63ff6336d2f55725e0f19f.tar.gz emacs-a604e2b4575b02713b63ff6336d2f55725e0f19f.zip | |
(reveal-post-command): Better error handling and debugging.
| -rw-r--r-- | lisp/reveal.el | 14 |
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 |