[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/reveal.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/reveal.el |
Date: |
Mon, 20 May 2002 14:31:20 -0400 |
Index: emacs/lisp/reveal.el
diff -c emacs/lisp/reveal.el:1.5 emacs/lisp/reveal.el:1.6
*** emacs/lisp/reveal.el:1.5 Sat May 18 07:26:16 2002
--- emacs/lisp/reveal.el Mon May 20 14:31:20 2002
***************
*** 68,73 ****
--- 68,74 ----
;; - we only refresh spots in the current window.
;; FIXME: do we actually know that (current-buffer) = (window-buffer) ?
(with-local-quit
+ (condition-case err
(let* ((spots (cvs-partition
(lambda (x)
;; We refresh any spot in the current window as well
***************
*** 79,89 ****
(current-buffer)))))
reveal-open-spots))
(old-ols (mapcar 'cdr (car spots)))
! (repeat t)
! ;; `post-command-hook' binds it to t, but the user might want to
! ;; interrupt our work if we somehow get stuck in an infinite loop.
! (inhibit-quit nil)
! inv open)
(setq reveal-open-spots (cdr spots))
;; Open new overlays.
(while repeat
--- 80,86 ----
(current-buffer)))))
reveal-open-spots))
(old-ols (mapcar 'cdr (car spots)))
! (repeat t))
(setq reveal-open-spots (cdr spots))
;; Open new overlays.
(while repeat
***************
*** 93,115 ****
(overlays-at (point))))
(push (cons (selected-window) ol) reveal-open-spots)
(setq old-ols (delq ol old-ols))
! (when (setq inv (overlay-get ol 'invisible))
! (when (or (overlay-get ol 'isearch-open-invisible)
! (and (consp buffer-invisibility-spec)
! (assq inv buffer-invisibility-spec)))
! (overlay-put ol 'reveal-invisible inv)
! (overlay-put ol 'invisible nil)
! (when (setq open (get inv 'reveal-toggle-invisible))
;; Use the provided opening function and repeat (since the
;; opening function might have hidden a subpart around point).
(setq repeat t)
(condition-case err
! (funcall open ol t)
(error (message "!!Reveal-show: %s !!" err))))))))
;; Close old overlays.
(dolist (ol old-ols)
! (when (and (setq inv (overlay-get ol 'reveal-invisible))
! (eq (current-buffer) (overlay-buffer ol))
(not (rassq ol reveal-open-spots)))
(if (and (>= (point) (save-excursion
(goto-char (overlay-start ol))
--- 90,116 ----
(overlays-at (point))))
(push (cons (selected-window) ol) reveal-open-spots)
(setq old-ols (delq ol old-ols))
! (let ((open (overlay-get ol 'reveal-toggle-invisible)))
! (when (or open
! (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)
! (and (consp buffer-invisibility-spec)
! (assq inv buffer-invisibility-spec)))
! (overlay-put ol 'reveal-invisible inv))))
! (if (null open)
! (overlay-put ol 'invisible nil)
;; Use the provided opening function and repeat (since the
;; opening function might have hidden a subpart around point).
(setq repeat t)
(condition-case err
! (funcall open ol nil)
(error (message "!!Reveal-show: %s !!" err))))))))
;; Close old overlays.
(dolist (ol old-ols)
! (when (and (eq (current-buffer) (overlay-buffer ol))
(not (rassq ol reveal-open-spots)))
(if (and (>= (point) (save-excursion
(goto-char (overlay-start ol))
***************
*** 120,130 ****
;; Still near the overlay: keep it open.
(push (cons (selected-window) ol) reveal-open-spots)
;; Really close it.
! (overlay-put ol 'invisible inv)
! (when (setq open (get inv 'reveal-toggle-invisible))
! (condition-case err
! (funcall open ol nil)
! (error (message "!!Reveal-hide: %s !!" err))))))))))
;;;###autoload
(define-minor-mode reveal-mode
--- 121,136 ----
;; Still near the overlay: keep it open.
(push (cons (selected-window) ol) reveal-open-spots)
;; Really close it.
! (let ((open (overlay-get ol 'reveal-toggle-invisible)) inv)
! (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)))))
! (condition-case err
! (funcall open ol t)
! (error (message "!!Reveal-hide: %s !!" err)))
! (overlay-put ol 'invisible inv)))))))
! (error (message "Reveal: %s" err)))))
;;;###autoload
(define-minor-mode reveal-mode