;; 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.
(let ((inv (overlay-get ol 'invisible)))
(and inv (symbolp inv)
(or (setq open (or (get inv 'reveal-toggle-invisible)
- (get ol 'isearch-open-invisible-temporary)))
+ (overlay-get ol 'isearch-open-invisible-temporary)))
(overlay-get ol 'isearch-open-invisible)
(and (consp buffer-invisibility-spec)
(assq inv buffer-invisibility-spec)))
(setq repeat t)
(condition-case err
(funcall open ol nil)
- (error (setq reveal-backtrace (backtrace))
- (message "!!Reveal-show: %s !!" err)
+ (error (message "!!Reveal-show: %s !!" err)
;; Let's default to a meaningful behavior to avoid
;; getting stuck in an infinite loop.
+ (setq repeat nil)
(overlay-put ol 'invisible nil))))))))
;; Close old overlays.
(dolist (ol old-ols)
(if (or open
(and (setq inv (overlay-get ol 'reveal-invisible))
(setq open (or (get inv 'reveal-toggle-invisible)
- (get ol 'isearch-open-invisible-temporary)))))
+ (overlay-get ol 'isearch-open-invisible-temporary)))))
(condition-case err
(funcall open ol t)
- (error (setq reveal-backtrace (backtrace))
- (message "!!Reveal-hide: %s !!" err)))
+ (error (message "!!Reveal-hide: %s !!" err)))
(overlay-put ol 'invisible inv)))))))
- (error (setq reveal-backtrace (backtrace))
- (message "Reveal: %s" err)))))
+ (error (message "Reveal: %s" err)))))
;;;###autoload
(define-minor-mode reveal-mode