From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Hinman Subject: Re: possible bug in org-goto-local-search-headings Date: Thu, 12 Nov 2009 18:24:34 -0600 Message-ID: References: <476194BA-1CED-4FF4-B479-D42D297F00A0@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N8k4M-0003LS-V9 for emacs-orgmode@gnu.org; Thu, 12 Nov 2009 19:31:18 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N8k4H-0003Kn-94 for emacs-orgmode@gnu.org; Thu, 12 Nov 2009 19:31:17 -0500 Received: from [199.232.76.173] (port=39385 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N8k4H-0003Kk-3o for emacs-orgmode@gnu.org; Thu, 12 Nov 2009 19:31:13 -0500 Received: from mail-yx0-f191.google.com ([209.85.210.191]:47412) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N8k4G-0001Ou-O6 for emacs-orgmode@gnu.org; Thu, 12 Nov 2009 19:31:12 -0500 Received: by yxe29 with SMTP id 29so2845050yxe.14 for ; Thu, 12 Nov 2009 16:31:12 -0800 (PST) In-Reply-To: <476194BA-1CED-4FF4-B479-D42D297F00A0@gmail.com> (Carsten Dominik's message of "Fri, 13 Nov 2009 00:51:48 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Carsten, I admit I could be using the function inappropriately. Please let me know if am. I have a little function I wrote to help me maintain a journal, I didn't like the formatting I got using remember. Here is the function. (defun lee-journal-entry () "Create a new journal entry for today or append to existing month." (interactive) (switch-to-buffer (find-file lee-journal-file)) (widen) (let ((today (format-time-string "%Y.%m"))) (unless (org-goto-local-search-headings today nil t) ((lambda () (beginning-of-buffer) (org-insert-heading) (insert today)))) (show-children) (end-of-line) (insert "\n") (org-insert-heading) (org-do-demote) (org-insert-time-stamp (current-time)) (insert " "))) So I'm using org-goto-local-search-heading to find the correct heading to start my new journal entry in. -- Lee Carsten Dominik writes: > Hi Lee, > > I do not understand. > > Why would you call this function? It is being called by the > internals of isearch, and when that happens, isearch.el is obviously > loaded. > > What am I missing here? > > - Carsten > > On Nov 12, 2009, at 8:04 PM, Lee Hinman wrote: > >> I noticed some interesting behavior with the >> org-goto-local-search-headings function in Emacs 23.1.1. >> >> If you call the function before doing an incremental search, searching >> forward fails. If you call it after doing an incremental search the >> function will search forward. A quick look at the code showed that it >> only does a forward search if isearch-forward is defined. This is >> both >> a variable and a function in isearch.el, and the variable >> isearch-forward is set to nil until you do a search. >> >> The following patch against the current orgmode removes the dependency >> on isearch-forward and will now search forward first, if it doesn't >> find >> anything will search backward from the original point. I *think* this >> is the behavior that was intended. >> >> >> diff --git a/lisp/org.el b/lisp/org.el >> index dd34816..1e9aad3 100644 >> --- a/lisp/org.el >> +++ b/lisp/org.el >> @@ -5801,8 +5801,7 @@ or nil." >> (defun org-goto-local-search-headings (string bound noerror) >> "Search and make sure that any matches are in headlines." >> (catch 'return >> - (while (if isearch-forward >> - (search-forward string bound noerror) >> + (while (or (search-forward string bound t) >> (search-backward string bound noerror)) >> (when (let ((context (mapcar 'car (save-match-data (org- >> context))))) >> (and (member :headline context) >> >> >> -- >> Lee Hinman >> >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > - Carsten > > > -- Lee Hinman hinman@gmail.com