From f73d4b67c027209905dd90868d57440ceacdea28 Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Wed, 19 Aug 2009 15:17:09 -0600 Subject: [PATCH] now possible to search for text inside of folded blocks --- lisp/org.el | 38 ++++++++++++++++++++++++-------------- 1 files changed, 24 insertions(+), 14 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index e2cdce8..14adeda 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5364,24 +5364,34 @@ the range." (beginning-of-line) (if (re-search-forward org-block-regexp nil t) (let ((start (- (match-beginning 4) 1)) ;; beginning of body - (end (match-end 0)) - ov) ;; end of entire body + (end (match-end 0)) ;; end of entire body + ov) (if (memq t (mapcar (lambda (overlay) (eq (org-overlay-get overlay 'invisible) - 'org-hide-block)) + 'org-hide-block)) (org-overlays-at start))) - (if (or (not force) (eq force 'off)) - (mapc (lambda (ov) - (when (member ov org-hide-block-overlays) - (setq org-hide-block-overlays - (delq ov org-hide-block-overlays))) - (when (eq (org-overlay-get ov 'invisible) - 'org-hide-block) - (org-delete-overlay ov))) - (org-overlays-at start))) - (setq ov (org-make-overlay start end)) + (if (or (not force) (eq force 'off)) + (mapc (lambda (ov) + (when (member ov org-hide-block-overlays) + (setq org-hide-block-overlays + (delq ov org-hide-block-overlays))) + (when (eq (org-overlay-get ov 'invisible) + 'org-hide-block) + (org-delete-overlay ov))) + (org-overlays-at start))) + (setq ov (org-make-overlay start end)) (org-overlay-put ov 'invisible 'org-hide-block) - (push ov org-hide-block-overlays))) + ;; make the block accessible to isearch + (org-overlay-put + ov 'isearch-open-invisible + (lambda (ov) + (when (member ov org-hide-block-overlays) + (setq org-hide-block-overlays + (delq ov org-hide-block-overlays))) + (when (eq (org-overlay-get ov 'invisible) + 'org-hide-block) + (org-delete-overlay ov)))) + (push ov org-hide-block-overlays))) (error "Not looking at a source block")))) ;; org-tab-after-check-for-cycling-hook -- 1.6.4.73.gc144