[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/consult fae9b50d88 3/3: Improve consult--invisible-open
From: |
ELPA Syncer |
Subject: |
[elpa] externals/consult fae9b50d88 3/3: Improve consult--invisible-open-temporarily |
Date: |
Mon, 16 Jan 2023 08:57:33 -0500 (EST) |
branch: externals/consult
commit fae9b50d88e991452d5a32a41c2b8452aa1a914d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Improve consult--invisible-open-temporarily
---
consult.el | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/consult.el b/consult.el
index 3949ccbdde..d533045f8b 100644
--- a/consult.el
+++ b/consult.el
@@ -1368,17 +1368,19 @@ See `isearch-open-necessary-overlays' and
`isearch-open-overlay-temporary'."
(delq nil (org-fold-core-get-regions
:with-markers t :from (point-min) :to (point-max))))
(when consult--org-fold-regions
- (let ((hook (make-symbol
"consult--invisible-open-temporarily-cleanup"))
- (buffer (current-buffer)))
- (fset hook (lambda ()
- (remove-hook 'minibuffer-exit-hook hook)
- (when (buffer-live-p buffer)
- (with-current-buffer buffer
- (pcase-dolist (`(,beg ,end ,_)
consult--org-fold-regions)
- (when (markerp beg) (set-marker beg nil))
- (when (markerp end) (set-marker end nil)))
- (kill-local-variable
'consult--org-fold-regions)))))
- (add-hook 'minibuffer-exit-hook hook))))
+ (let ((hook (make-symbol
"consult--invisible-open-temporarily-cleanup")))
+ (fset hook (apply-partially #'run-at-time 0 nil
+ (lambda (buffer)
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (pcase-dolist (`(,beg ,end ,_)
consult--org-fold-regions)
+ (when (markerp beg)
(set-marker beg nil))
+ (when (markerp end)
(set-marker end nil)))
+ (kill-local-variable
'consult--org-fold-regions))))
+ (current-buffer)))
+ (when-let (win (active-minibuffer-window))
+ (with-current-buffer (window-buffer win)
+ (add-hook 'minibuffer-exit-hook hook nil 'local))))))
(org-fold-show-set-visibility 'canonical)
(list (lambda ()
(pcase-dolist (`(,beg ,end ,spec) consult--org-fold-regions)