branch: elpa/isl
commit cbba7b7a42b59f53a253a541db9553e907c8f905
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Fix invisibility in org and outline buffers
---
isearch-light.el | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/isearch-light.el b/isearch-light.el
index 165a695d639..ccc0b34a6ce 100644
--- a/isearch-light.el
+++ b/isearch-light.el
@@ -31,6 +31,8 @@
(require 'cl-lib)
+(declare-function outline-show-entry "outline.el")
+(declare-function org-reveal "org.el")
(declare-function helm-multi-occur-1 "ext:helm-occur.el")
(defvar helm-occur-always-search-in-current)
@@ -162,11 +164,7 @@ It put overlay on current position, move to next overlay
using
(with-selected-window (minibuffer-selected-window)
(isl--highlight-last-overlay 'isl-match)
(when isl--iterator
- (isl--goto-overlay (isl-iter-next isl--iterator))
- (when (invisible-p (get-text-property (point) 'invisible))
- (if (listp buffer-invisibility-spec)
- (mapc 'remove-from-invisibility-spec buffer-invisibility-spec)
- (remove-from-invisibility-spec buffer-invisibility-spec))))
+ (isl--goto-overlay (isl-iter-next isl--iterator)))
(isl-setup-mode-line)))
(defun isl--find-and-goto-overlay (overlay)
@@ -347,6 +345,9 @@ symbol position."
(with-selected-window (minibuffer-selected-window)
(while-no-input
(isl-delete-overlays)
+ (when (and buffer-invisibility-spec
+ (listp buffer-invisibility-spec))
+ (mapc 'remove-from-invisibility-spec buffer-invisibility-spec))
(let ((case-fold-search (isl-set-case-fold-search))
(count 1)
ov
@@ -467,7 +468,11 @@ appended at end."
isl--last-overlay nil
isl--number-results nil
isl-search-function (default-value 'isl-search-function)
- buffer-invisibility-spec isl--buffer-invisibility-spec))
+ buffer-invisibility-spec isl--buffer-invisibility-spec)
+ (cond ((eq major-mode 'org-mode)
+ (ignore-errors (org-reveal)))
+ ((eq major-mode 'outline-mode)
+ (outline-show-entry))))
;;;###autoload
(defun isl ()