Mercurial > emacs
changeset 50374:73660951a233
(reveal-post-command): Better error handling and debugging.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 31 Mar 2003 20:56:14 +0000 |
parents | 6defa3317421 |
children | 8be64cfd36fe |
files | lisp/reveal.el |
diffstat | 1 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/reveal.el Mon Mar 31 20:41:41 2003 +0000 +++ b/lisp/reveal.el Mon Mar 31 20:56:14 2003 +0000 @@ -61,6 +61,8 @@ ;; Actual code +(defvar reveal-backtrace nil) + (defun reveal-post-command () ;; Refresh the spots that might have changed. ;; `Refreshing' here means to try and re-hide the corresponding text. @@ -107,7 +109,11 @@ (setq repeat t) (condition-case err (funcall open ol nil) - (error (message "!!Reveal-show: %s !!" err)))))))) + (error (setq reveal-backtrace (backtrace)) + (message "!!Reveal-show: %s !!" err) + ;; Let's default to a meaningful behavior to avoid + ;; getting stuck in an infinite loop. + (overlay-put ol 'invisible nil)))))))) ;; Close old overlays. (dolist (ol old-ols) (when (and (eq (current-buffer) (overlay-buffer ol)) @@ -128,9 +134,11 @@ (get ol 'isearch-open-invisible-temporary))))) (condition-case err (funcall open ol t) - (error (message "!!Reveal-hide: %s !!" err))) + (error (setq reveal-backtrace (backtrace)) + (message "!!Reveal-hide: %s !!" err))) (overlay-put ol 'invisible inv))))))) - (error (message "Reveal: %s" err))))) + (error (setq reveal-backtrace (backtrace)) + (message "Reveal: %s" err))))) ;;;###autoload (define-minor-mode reveal-mode