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 ()

Reply via email to