From: Carsten Dominik <carsten.dominik@gmail.com>
To: Lee Hinman <hinman@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: possible bug in org-goto-local-search-headings
Date: Fri, 13 Nov 2009 23:30:51 +0100 [thread overview]
Message-ID: <636417E5-EA55-4A47-A951-C231EDABE9C1@gmail.com> (raw)
In-Reply-To: <m24oozl1a5.fsf@hades.lhinman.com>
On Nov 13, 2009, at 1:24 AM, Lee Hinman wrote:
> 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.
Hi Lee,
it is OK to call such a function, but then you need to provide the
correct
environment. In this case, it is probably enough to add
(isearch-forward t)
to the let bindings in the function.
- Carsten
>
> --
> Lee
>
>
>
> Carsten Dominik <carsten.dominik@gmail.com> 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
>
>
> _______________________________________________
> 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
prev parent reply other threads:[~2009-11-13 22:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-12 19:04 possible bug in org-goto-local-search-headings Lee Hinman
2009-11-12 23:51 ` Carsten Dominik
2009-11-13 0:24 ` Lee Hinman
2009-11-13 22:30 ` Carsten Dominik [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=636417E5-EA55-4A47-A951-C231EDABE9C1@gmail.com \
--to=carsten.dominik@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=hinman@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).