emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org f97aeaa243 099/101: org-fold-core--isearch-setup: U


From: ELPA Syncer
Subject: [elpa] externals/org f97aeaa243 099/101: org-fold-core--isearch-setup: Use `add-function'
Date: Sat, 1 Jul 2023 09:59:18 -0400 (EDT)

branch: externals/org
commit f97aeaa243aaa6c088ae9df0a799cec0e244f31b
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    org-fold-core--isearch-setup: Use `add-function'
    
    * lisp/org-fold-core.el (org-fold-core--isearch-setup): Use
    add-function, respecting the value of `isearch-filter-predicate'.
    (org-fold-core--isearch-filter-predicate-overlays): Remove.
    
    Link: https://yhetil.org/emacs-devel/87o7lxpip9.fsf@web.de
---
 lisp/org-fold-core.el | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/lisp/org-fold-core.el b/lisp/org-fold-core.el
index 9dc810764f..677351d350 100644
--- a/lisp/org-fold-core.el
+++ b/lisp/org-fold-core.el
@@ -1150,7 +1150,7 @@ TYPE can be either `text-properties' or `overlays'."
      (setq-local isearch-filter-predicate 
#'org-fold-core--isearch-filter-predicate-text-properties))
     (`overlays
      (when (eq org-fold-core-style 'text-properties)
-       (setq-local isearch-filter-predicate 
#'org-fold-core--isearch-filter-predicate-overlays)
+       (add-function :before (local 'isearch-filter-predicate) 
#'org-fold-core--create-isearch-overlays)
        ;; When `isearch-filter-predicate' is called outside isearch,
        ;; it is common that `isearch-mode-end-hook' does not get
        ;; executed, but `isearch-clean-overlays' usually does.
@@ -1259,12 +1259,6 @@ instead of text properties.  The created overlays will 
be stored in
                    (org-fold-core-region (car region) (cdr region) t 
spec)))))))
         (setq pos (org-fold-core-next-folding-state-change nil pos end))))))
 
-(defun org-fold-core--isearch-filter-predicate-overlays (beg end)
-  "Return non-nil if text between BEG and END is deemed visible by isearch.
-This function is intended to be used as `isearch-filter-predicate'."
-  (org-fold-core--create-isearch-overlays beg end) ;; trick isearch by 
creating overlays in place of invisible text
-  (isearch-filter-visible beg end))
-
 (defun org-fold-core--clear-isearch-overlay (ov)
   "Convert OV region back into using text properties."
   (let ((spec (overlay-get ov 'invisible)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]