* Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] @ 2011-04-05 21:50 Philip Rooke 2011-04-06 6:52 ` Carsten Dominik 0 siblings, 1 reply; 6+ messages in thread From: Philip Rooke @ 2011-04-05 21:50 UTC (permalink / raw) To: emacs-orgmode Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. ------------------------------------------------------------------------ Launch Emacs with no startup files $ emacs -Q ; evaluate these 2 forms in the *scratch* buffer (require 'org-install) (setq org-capture-templates '(("h" "Journal headline" entry (file+datetree "/tmp/journal.org")) ("n" "Journal note" plain (file+datetree "/tmp/journal.org")))) ; follow this sequence M-x org-agenda a ; for current week or day agenda k c ; agenda action for capture h ; to add a headline entry in journal for today [...] ; add some text and C-c C-c to save k c n ; add a note in journal for today [...] ; add some text and save b ; back one week k c h ; add a headline entry in journal for one week ago [...] b ; go back one more week k c n ; add a note in journal for two weeks ago [...] Look at the journal file created. I would expect to see a date tree with a note entry under the date two weeks ago, a headline entry under the date one week ago and a note and headline entry under today's date. What I see is the date tree correctly constructed. The note and headline under today's date are correct filed. The headline entry from one week ago is correctly filed. The date headline from two weeks ago is correctly created but the text of the note entry itself is wrongly appended at the end of the file under today's date. That doesn't seem right to me. Thanks, Phil Emacs : GNU Emacs 24.0.50.3 (x86_64-apple-darwin10.6.0, NS apple-appkit-1038.35) of 2011-02-17 on bo Package: Org-mode version 7.5 (release_7.5.135.g7021f.dirty) current state: ============== (setq org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-metaup-hook '(org-babel-load-in-session-maybe) org-capture-templates '(("h" "Journal headline" entry (file+datetree "~/tmp/journal.org")) ("n" "Journal note" plain (file+datetree "~/tmp/journal.org"))) org-after-todo-state-change-hook '(org-clock-out-if-current) org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) org-export-latex-format-toc-function 'org-export-latex-format-toc-default org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-confirm-shell-link-function 'yes-or-no-p org-export-first-hook '(org-beamer-initialize-open-trackers) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-pre-tangle-hook '(save-buffer) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers) org-mode-hook '((lambda nil (org-add-hook (quote change-major-mode-hook) (quote org-show-block-all) (quote append) (quote local))) (lambda nil (org-add-hook (quote change-major-mode-hook) (quote org-babel-show-result-all) (quote append) (quote local))) org-babel-result-hide-spec org-babel-hide-all-hashes) org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src org-babel-exp-inline-src-blocks)) org-occur-hook '(org-first-headline-recenter) org-from-is-user-regexp "\\<phil@bo\\.sak\\.lan\\>\\|\\<Philip Rooke\\>" org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code) org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc org-beamer-auto-fragile-frames org-beamer-place-default-actions-for-lists) org-metadown-hook '(org-babel-pop-to-session-maybe) org-export-blocks '((src org-babel-exp-src-block nil) (comment org-export-blocks-format-comment t) (ditaa org-export-blocks-format-ditaa nil) (dot org-export-blocks-format-dot nil)) ) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] 2011-04-05 21:50 Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] Philip Rooke @ 2011-04-06 6:52 ` Carsten Dominik 2011-04-06 10:50 ` Philip Rooke 0 siblings, 1 reply; 6+ messages in thread From: Carsten Dominik @ 2011-04-06 6:52 UTC (permalink / raw) To: Philip Rooke; +Cc: emacs-orgmode Hi Philip, thank you for this very detailed report and recipe. First of all, the date tree target currently is meant only for entry-type captures. If you use a plain capture type, it will go to the end of the buffer and the localization by the date tree is ignored. I can see that it might be nice to simply add some text under the date headline in a date tree, in order to build up a long journal entry from little snippets. However, you are trying to *mix* headline entries and plain entries under the same date node in the tree, and this seems to be impossible. If you first add a headline entry and then plain text, that plane text will structurally belong to the headline that you just created. Wouldn't a better strategy be to have the "plain" section be started with a time, for example (setq org-capture-templates '(("h" "Journal headline" entry (file+datetree "/tmp/journal.org")) ("n" "Journal note" plain (file+datetree "/tmp/journal.org") "* %<%H:%M>\n %?"))) (the %<%H:%M> requires the current git release...) Another way to phrase my question is: What is your use case for this mix? - Carsten On 5.4.2011, at 23:50, Philip Rooke wrote: > > Remember to cover the basics, that is, what you expected to happen and > what in fact did happen. You don't know how to make a good report? See > > http://orgmode.org/manual/Feedback.html#Feedback > > Your bug report will be posted to the Org-mode mailing list. > ------------------------------------------------------------------------ > Launch Emacs with no startup files > > $ emacs -Q > > ; evaluate these 2 forms in the *scratch* buffer > > (require 'org-install) > (setq org-capture-templates > '(("h" "Journal headline" entry (file+datetree "/tmp/journal.org")) > ("n" "Journal note" plain (file+datetree "/tmp/journal.org")))) > > ; follow this sequence > > M-x org-agenda > a ; for current week or day agenda > k c ; agenda action for capture > h ; to add a headline entry in journal for today > [...] ; add some text and C-c C-c to save > k c > n ; add a note in journal for today > [...] ; add some text and save > b ; back one week > k c > h ; add a headline entry in journal for one week ago > [...] > b ; go back one more week > k c > n ; add a note in journal for two weeks ago > [...] > > Look at the journal file created. > > I would expect to see a date tree with a note entry under the > date two weeks ago, a headline entry under the date one week ago > and a note and headline entry under today's date. > > What I see is the date tree correctly constructed. The note and > headline under today's date are correct filed. The headline > entry from one week ago is correctly filed. The date headline > from two weeks ago is correctly created but the text of the note > entry itself is wrongly appended at the end of the file under > today's date. > > That doesn't seem right to me. > > Thanks, > > Phil > > Emacs : GNU Emacs 24.0.50.3 (x86_64-apple-darwin10.6.0, NS apple-appkit-1038.35) > of 2011-02-17 on bo > Package: Org-mode version 7.5 (release_7.5.135.g7021f.dirty) > > current state: > ============== > (setq > org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) > org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-capture-templates '(("h" "Journal headline" entry (file+datetree "~/tmp/journal.org")) > ("n" "Journal note" plain (file+datetree "~/tmp/journal.org"))) > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) > org-export-latex-format-toc-function 'org-export-latex-format-toc-default > org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe) > org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) > org-confirm-shell-link-function 'yes-or-no-p > org-export-first-hook '(org-beamer-initialize-open-trackers) > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-babel-pre-tangle-hook '(save-buffer) > org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers) > org-mode-hook '((lambda nil > (org-add-hook (quote change-major-mode-hook) (quote org-show-block-all) (quote append) (quote local))) > (lambda nil > (org-add-hook (quote change-major-mode-hook) (quote org-babel-show-result-all) (quote append) (quote local))) > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src org-babel-exp-inline-src-blocks)) > org-occur-hook '(org-first-headline-recenter) > org-from-is-user-regexp "\\<phil@bo\\.sak\\.lan\\>\\|\\<Philip Rooke\\>" > org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code) > org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc org-beamer-auto-fragile-frames > org-beamer-place-default-actions-for-lists) > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-export-blocks '((src org-babel-exp-src-block nil) (comment org-export-blocks-format-comment t) > (ditaa org-export-blocks-format-ditaa nil) (dot org-export-blocks-format-dot nil)) > ) > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] 2011-04-06 6:52 ` Carsten Dominik @ 2011-04-06 10:50 ` Philip Rooke 2011-04-06 11:06 ` Carsten Dominik ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Philip Rooke @ 2011-04-06 10:50 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode Carsten Dominik <carsten.dominik@gmail.com> writes: Thanks Carsten, > I can see that it might be nice to simply add some text > under the date headline in a date tree, in order to build > up a long journal entry from little snippets. Yes, this is exactly what I do over the course of the day and I find it very useful. The trouble I run into is that, all too often, I forget or don't have time to add an entry on the day the noteworthy event happened. I use the agenda capture action (k c) in this situation since the date I am on in the agenda is picked up automatically by the template and the right date headline is created at the right place in the journal. Currently I have to then cut/paste the note, which is the bit I was trying to avoid. > However, you are trying to *mix* headline entries and plain entries > under the same date node in the tree, and this seems to be impossible. Sorry, my fault, the full version of journal template I currently use ends up creating entries like: *** 2011-04-06 Wednesday Try and clarify journal/note taking use case for Carsten [2011-04-06 Wed 10:03] Apologise for confusing Carsten as I don't actually use headline entries in the journal, plain only [2011-04-06 Wed 10:05] > Wouldn't a better strategy be to have the "plain" section be started with a time, Well, as you see above I actually do like to have the time of the entry, but the only way I thought I could do that was using the %U keyword in the template (which is clumsy as it then duplicates the date/day). > > (the %<%H:%M> requires the current git release...) ... which, coincidently, seems to have appeared this morning :-) That means I can use something like: (setq org-capture-templates '(("e" "Journal entry" entry (file+datetree "/tmp/journal.org") "* %<%H:%M>\n %?") ("l" "Journal late entry" entry (file+datetree "/tmp/journal.org") "* Retrospectively added %<%Y-%m-%d %H:%M>\n %?"))) Used from an agenda action the retrospective date headline/notes are created and filed in the right place, giving something like: * 2011 ** 2011-04 April *** 2011-04-05 Tuesday **** Retrospectively added 2011-04-06 11:35 Checked with Bastien about committing doc string changes *** 2011-04-06 Wednesday **** 11:33 Updated Org to latest version in order to get new capture keyword expansion capability **** 11:36 Problem solved. Brilliant, that works. Carsten never ceases to amaze... Thank you. Phil ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] 2011-04-06 10:50 ` Philip Rooke @ 2011-04-06 11:06 ` Carsten Dominik 2011-04-06 11:09 ` Carsten Dominik 2011-04-07 15:05 ` Carsten Dominik 2 siblings, 0 replies; 6+ messages in thread From: Carsten Dominik @ 2011-04-06 11:06 UTC (permalink / raw) To: Philip Rooke; +Cc: emacs-orgmode On Apr 6, 2011, at 12:50 PM, Philip Rooke wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: > > Thanks Carsten, > >> I can see that it might be nice to simply add some text >> under the date headline in a date tree, in order to build >> up a long journal entry from little snippets. > > Yes, this is exactly what I do over the course of the day and I find it > very useful. The trouble I run into is that, all too often, I forget or > don't have time to add an entry on the day the noteworthy event > happened. I use the agenda capture action (k c) in this situation since > the date I am on in the agenda is picked up automatically by the > template and the right date headline is created at the right place in > the journal. Currently I have to then cut/paste the note, which is the > bit I was trying to avoid. > >> However, you are trying to *mix* headline entries and plain entries >> under the same date node in the tree, and this seems to be impossible. > > Sorry, my fault, the full version of journal template I currently use > ends up creating entries like: > > *** 2011-04-06 Wednesday > > Try and clarify journal/note taking use case for Carsten > [2011-04-06 Wed 10:03] > > Apologise for confusing Carsten as I don't actually use headline > entries in the journal, plain only > [2011-04-06 Wed 10:05] > >> Wouldn't a better strategy be to have the "plain" section be started with a time, > > Well, as you see above I actually do like to have the time of the entry, > but the only way I thought I could do that was using the %U keyword in > the template (which is clumsy as it then duplicates the date/day). > >> >> (the %<%H:%M> requires the current git release...) > > ... which, coincidently, seems to have appeared this morning :-) > > That means I can use something like: > > (setq org-capture-templates > '(("e" "Journal entry" entry (file+datetree "/tmp/journal.org") > "* %<%H:%M>\n %?") > ("l" "Journal late entry" entry (file+datetree "/tmp/journal.org") > "* Retrospectively added %<%Y-%m-%d %H:%M>\n %?"))) > > Used from an agenda action the retrospective date headline/notes are > created and filed in the right place, giving something like: > > * 2011 > ** 2011-04 April > *** 2011-04-05 Tuesday > **** Retrospectively added 2011-04-06 11:35 > Checked with Bastien about committing doc string changes > *** 2011-04-06 Wednesday > **** 11:33 > Updated Org to latest version in order to get new capture keyword > expansion capability > **** 11:36 > Problem solved. Brilliant, that works. Carsten never ceases to > amaze... > > Thank you. You're welcome. - Carsten ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] 2011-04-06 10:50 ` Philip Rooke 2011-04-06 11:06 ` Carsten Dominik @ 2011-04-06 11:09 ` Carsten Dominik 2011-04-07 15:05 ` Carsten Dominik 2 siblings, 0 replies; 6+ messages in thread From: Carsten Dominik @ 2011-04-06 11:09 UTC (permalink / raw) To: Philip Rooke; +Cc: emacs-orgmode On Apr 6, 2011, at 12:50 PM, Philip Rooke wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: > > Thanks Carsten, > >> I can see that it might be nice to simply add some text >> under the date headline in a date tree, in order to build >> up a long journal entry from little snippets. > > Yes, this is exactly what I do over the course of the day and I find it > very useful. The trouble I run into is that, all too often, I forget or > don't have time to add an entry on the day the noteworthy event > happened. I use the agenda capture action (k c) in this situation since > the date I am on in the agenda is picked up automatically by the > template and the right date headline is created at the right place in > the journal. Currently I have to then cut/paste the note, which is the > bit I was trying to avoid. > >> However, you are trying to *mix* headline entries and plain entries >> under the same date node in the tree, and this seems to be impossible. > > Sorry, my fault, the full version of journal template I currently use > ends up creating entries like: > > *** 2011-04-06 Wednesday > > Try and clarify journal/note taking use case for Carsten > [2011-04-06 Wed 10:03] > > Apologise for confusing Carsten as I don't actually use headline > entries in the journal, plain only > [2011-04-06 Wed 10:05] > >> Wouldn't a better strategy be to have the "plain" section be started with a time, > > Well, as you see above I actually do like to have the time of the entry, > but the only way I thought I could do that was using the %U keyword in > the template (which is clumsy as it then duplicates the date/day). > >> >> (the %<%H:%M> requires the current git release...) > > ... which, coincidently, seems to have appeared this morning :-) Yes, but even before that you could have done %(format-time-string "%H:%M") Cheers - Carsten ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] 2011-04-06 10:50 ` Philip Rooke 2011-04-06 11:06 ` Carsten Dominik 2011-04-06 11:09 ` Carsten Dominik @ 2011-04-07 15:05 ` Carsten Dominik 2 siblings, 0 replies; 6+ messages in thread From: Carsten Dominik @ 2011-04-07 15:05 UTC (permalink / raw) To: Philip Rooke; +Cc: emacs-orgmode On 6.4.2011, at 12:50, Philip Rooke wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: > > Thanks Carsten, > >> I can see that it might be nice to simply add some text >> under the date headline in a date tree, in order to build >> up a long journal entry from little snippets. > > Yes, this is exactly what I do over the course of the day and I find it > very useful. The trouble I run into is that, all too often, I forget or > don't have time to add an entry on the day the noteworthy event > happened. I use the agenda capture action (k c) in this situation since > the date I am on in the agenda is picked up automatically by the > template and the right date headline is created at the right place in > the journal. Currently I have to then cut/paste the note, which is the > bit I was trying to avoid. > >> However, you are trying to *mix* headline entries and plain entries >> under the same date node in the tree, and this seems to be impossible. > > Sorry, my fault, the full version of journal template I currently use > ends up creating entries like: > > *** 2011-04-06 Wednesday > > Try and clarify journal/note taking use case for Carsten > [2011-04-06 Wed 10:03] > > Apologise for confusing Carsten as I don't actually use headline > entries in the journal, plain only > [2011-04-06 Wed 10:05] This has kept me thinking. I think it should be possible to add plain text templates to a node target, and now I think I know how to do this in a way that allows mixing with headlined templates. I am just adding plain text stuff to the text before the first the first child, and entry-types as a child *after* this initial text, however long it may be. There are still good reasons so use the setup we have constructed the other day, i.e. using only headlined snippets for the journal. One reason to use this is that you then have structure editing at your disposal to reorganize the journal. For example if you have added something to a past date, then you can go in and easily move that new entry to the "right" position in the journal node, so that the sequence of events during that day is reflected correctly. However, is you want, you can now use plain templates and point them at a date tree or any other Org node, and get what you expect. Here is an example: (setq org-capture-templates '(("h" "Journal headline" entry (file+datetree "/tmp/journal.org")) ("n" "Journal note" plain (file+datetree "/tmp/journal.org") "%<%H:%M> %?" :empty-lines 1))) Thanks for finding this inconsistency, Philip. - Carsten > >> Wouldn't a better strategy be to have the "plain" section be started with a time, > > Well, as you see above I actually do like to have the time of the entry, > but the only way I thought I could do that was using the %U keyword in > the template (which is clumsy as it then duplicates the date/day). > >> >> (the %<%H:%M> requires the current git release...) > > ... which, coincidently, seems to have appeared this morning :-) > > That means I can use something like: > > (setq org-capture-templates > '(("e" "Journal entry" entry (file+datetree "/tmp/journal.org") > "* %<%H:%M>\n %?") > ("l" "Journal late entry" entry (file+datetree "/tmp/journal.org") > "* Retrospectively added %<%Y-%m-%d %H:%M>\n %?"))) > > Used from an agenda action the retrospective date headline/notes are > created and filed in the right place, giving something like: > > * 2011 > ** 2011-04 April > *** 2011-04-05 Tuesday > **** Retrospectively added 2011-04-06 11:35 > Checked with Bastien about committing doc string changes > *** 2011-04-06 Wednesday > **** 11:33 > Updated Org to latest version in order to get new capture keyword > expansion capability > **** 11:36 > Problem solved. Brilliant, that works. Carsten never ceases to > amaze... > > Thank you. > > Phil > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-04-07 15:05 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-05 21:50 Bug: datetree capture from agenda [7.5 (release_7.5.135.g7021f.dirty)] Philip Rooke 2011-04-06 6:52 ` Carsten Dominik 2011-04-06 10:50 ` Philip Rooke 2011-04-06 11:06 ` Carsten Dominik 2011-04-06 11:09 ` Carsten Dominik 2011-04-07 15:05 ` Carsten Dominik
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).