emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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

      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).