emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] re-search and org-link


From: Carsten Dominik
Subject: Re: [Orgmode] re-search and org-link
Date: Thu, 22 Jan 2009 07:46:21 +0100

Hi Christopher,

turning font-lock off and on does seem to help, but it is a pretty big cannon.
The reason hy your hook runs into problem is:  When the match is in
text marked by an "intangible" property (like the link part of a link that
also has a description), then the command loop moves the cursor you of
this location. Apparently this happens here. A more direct solution might
be to move to the beginning of the line before continuing the search,
like this:

(add-hook 'org-occur-hook
          (lambda ()
            (goto-char (point-max))
            (while
                (re-search-backward regexp nil t)
              (show-subtree)
              (org-cycle)
              (org-cycle)
              (beginning-of-line 1))))

Or even better:

(add-hook 'org-occur-hook
          (lambda ()
            (goto-char (point-max))
            (while
                (re-search-backward regexp nil t)
              (org-back-to-heading) ;; in case match was deeper in entry
              (show-subtree)
              (org-cycle)
              (org-cycle)
              (beginning-of-line 1))))



HTH

- Carsten

On Jan 21, 2009, at 3:17 PM, Christopher Suckling wrote:

I currently use the following hook to achieve the level of detail I like from a sparse tree:

(add-hook 'org-occur-hook
          (lambda ()
            (goto-char (point-max))
            (while
                (re-search-backward regexp nil t)
              (show-subtree)
              (org-cycle)
              (org-cycle))))

I combine this hook with

(setq org-show-following-heading nil)
(setq org-show-entry-below t)

This works great unless regexp is within a fontified org-link. Then Emacs hangs and I get the OS X spinning beach-ball.

There is a very easy workaround as re-search-backward has no problem with an org-link if font-locking is turned off for the buffer:

(add-hook 'org-occur-hook
          (lambda ()
            (goto-char (point-max))
            (font-lock-mode)
            (while
                (re-search-backward regexp nil t)
              (show-subtree)
              (org-cycle)
              (org-cycle))
            (font-lock-mode)))

Practically, I'm content with my solution, but I thought I'd mention it should the bug lie within the org-link code and bite anyone else in other situations.

OS X 10.5.6, Emacs 23.0.60.1 (NS), Org-mode 6.18c

Best wishes,

Christopher





_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

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