emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Lee Hinman <hinman@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: possible bug in org-goto-local-search-headings
Date: Thu, 12 Nov 2009 18:24:34 -0600	[thread overview]
Message-ID: <m24oozl1a5.fsf@hades.lhinman.com> (raw)
In-Reply-To: <476194BA-1CED-4FF4-B479-D42D297F00A0@gmail.com> (Carsten Dominik's message of "Fri, 13 Nov 2009 00:51:48 +0100")

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

  reply	other threads:[~2009-11-13  0: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 [this message]
2009-11-13 22:30     ` Carsten Dominik

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=m24oozl1a5.fsf@hades.lhinman.com \
    --to=hinman@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).