From: Carsten Dominik <dominik@science.uva.nl>
To: James TD Smith <ahktenzero@mohorovi.cc>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH 5/9] Fix note insertion in entries with drawers.
Date: Thu, 16 Oct 2008 06:50:12 +0200 [thread overview]
Message-ID: <C9878846-EF1C-44B9-8BD3-4538FB2972AB@uva.nl> (raw)
In-Reply-To: <20080920210906.19759.21084.stgit@nyarlathotep.internal.mohorovi.cc>
Hi JD,
I have now made this change configurable, please configure
the new option `org-log-state-notes-insert-after-drawers'
if you want your notes after the drawers. Default is the old
behavior to insert before the drawers (I got some requests for this).
- Carsten
On Sep 20, 2008, at 11:09 PM, James TD Smith wrote:
> The code to find the insertion point after a heading for notes was
> not skipping
> over drawers, resulting in notes being added inbetween the
> scheduling keywords
> and the first drawer. Notes are now inserted after any drawers in an
> item.
> ---
>
> lisp/ChangeLog | 2 ++
> lisp/org.el | 41 +++++++++++++++++++++++------------------
> 2 files changed, 25 insertions(+), 18 deletions(-)
>
> diff --git a/lisp/ChangeLog b/lisp/ChangeLog
> index b52700d..1753881 100755
> --- a/lisp/ChangeLog
> +++ b/lisp/ChangeLog
> @@ -3,6 +3,8 @@
> * org.el (org-get-refile-targets): Replace links with their
> descriptions
> (org-imenu-get-tree): Replace links with their descriptions
> + (org-add-log-setup): Skip over drawers (properties, clocks etc)
> + when adding notes.
>
> * org-agenda.el (org-agenda-get-closed): show durations of clocked
> items as well as the start and end times.
> diff --git a/lisp/org.el b/lisp/org.el
> index 99b62d0..10c2cdc 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -9038,7 +9038,7 @@ The auto-repeater uses this.")
> "Add a note to the current entry.
> This is done in the same way as adding a state change note."
> (interactive)
> - (org-add-log-setup 'note nil t nil))
> + (org-add-log-setup 'note nil 'findpos nil))
>
> (defun org-add-log-setup (&optional purpose state findpos how
> &optional extra)
> "Set up the post command hook to take a note.
> @@ -9047,23 +9047,28 @@ When FINDPOS is non-nil, find the correct
> position for the note in
> the current entry. If not, assume that it can be inserted at point.
> HOW is an indicator what kind of note should be created.
> EXTRA is additional text that will be inserted into the notes buffer."
> - (save-excursion
> - (when findpos
> - (org-back-to-heading t)
> - (looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"
> - "\\(\n[^\r\n]*?" org-keyword-time-not-clock-regexp
> - "[^\r\n]*\\)?"))
> - (goto-char (match-end 0))
> - (unless org-log-states-order-reversed
> - (and (= (char-after) ?\n) (forward-char 1))
> - (org-skip-over-state-notes)
> - (skip-chars-backward " \t\n\r")))
> - (move-marker org-log-note-marker (point))
> - (setq org-log-note-purpose purpose
> - org-log-note-state state
> - org-log-note-how how
> - org-log-note-extra extra)
> - (add-hook 'post-command-hook 'org-add-log-note 'append)))
> + (save-restriction
> + (save-excursion
> + (when findpos
> + (org-back-to-heading t)
> + (org-narrow-to-subtree)
> + (while (re-search-forward
> + (concat "\\(" org-drawer-regexp "\\|" org-property-end-re "\\)")
> + (point-max) t) (forward-line))
> + (looking-at (concat outline-regexp "\\( *\\)[^\r\n]*"
> + "\\(\n[^\r\n]*?" org-keyword-time-not-clock-regexp
> + "[^\r\n]*\\)?"))
> + (goto-char (match-end 0))
> + (unless org-log-states-order-reversed
> + (and (= (char-after) ?\n) (forward-char 1))
> + (org-skip-over-state-notes)
> + (skip-chars-backward " \t\n\r")))
> + (move-marker org-log-note-marker (point))
> + (setq org-log-note-purpose purpose
> + org-log-note-state state
> + org-log-note-how how
> + org-log-note-extra extra)
> + (add-hook 'post-command-hook 'org-add-log-note 'append))))
>
> (defun org-skip-over-state-notes ()
> "Skip past the list of State notes in an entry."
>
>
>
> _______________________________________________
> 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
next prev parent reply other threads:[~2008-10-16 4:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-20 21:08 [PATCH 0/9] Update my last patchset James TD Smith
2008-09-20 21:08 ` [PATCH 1/9] Some improvements to the modeline clock display James TD Smith
2008-09-20 21:08 ` [PATCH 2/9] Fix X clipboard handling in emacs21 James TD Smith
2008-09-20 21:08 ` [PATCH 3/9] Show durations of clocked times in timeline James TD Smith
2008-09-20 21:09 ` [PATCH 4/9] Fix link display in imenus and the refile interface James TD Smith
2008-09-21 6:25 ` Carsten Dominik
2008-09-21 14:31 ` [PATCH] " James TD Smith
2008-09-21 19:40 ` Carsten Dominik
2008-09-20 21:09 ` [PATCH 5/9] Fix note insertion in entries with drawers James TD Smith
2008-10-16 4:50 ` Carsten Dominik [this message]
2008-09-20 21:09 ` [PATCH 6/9] Add some functions for handling checklists James TD Smith
2008-09-20 21:09 ` [PATCH 7/9] Add some new interaction between remember and clocked tasks James TD Smith
2008-09-20 21:09 ` [PATCH 8/9] Add a % expansion for inserting properties in remember buffers James TD Smith
2008-09-20 21:09 ` [PATCH 9/9] Some bugfixes for org-plot James TD Smith
2008-09-21 4:48 ` [PATCH 0/9] Update my last patchset Carsten Dominik
2008-09-21 12:21 ` James TD Smith
2008-09-21 12:43 ` 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=C9878846-EF1C-44B9-8BD3-4538FB2972AB@uva.nl \
--to=dominik@science.uva.nl \
--cc=ahktenzero@mohorovi.cc \
--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).