Jeffrey Brent McBeth <mcb...@broggs.org> writes: > I'm trying to capture into a datetree using org-capture, but if my tree has a > tag on it (in particular noexport), then it creates a new datetree instead of > using the one I have. > Example .emacs: > (global-set-key "\C-cc" 'org-capture) > (setq org-capture-templates > '(("t" "Test" plain (file+datetree "~/Test.org") > "%^{Greeting} World > I'm going to work this time"))) > > Example Test.org: > > * 2013 > :noexport: > ** 2013-02 February > *** 2013-02-19 Tuesday > Hello World > I'm going to work this time > > So, based on the above, if I type C-cct Silly C-cc, I'll get this: > > * 2013 > :noexport: > ** 2013-02 February > *** 2013-02-19 Tuesday > Hello World > I'm going to work this time > * 2013 > ** 2013-02 February > *** 2013-02-19 Tuesday > Silly World > I'm going to work this time > > Thanks for your attention, > Jeffrey McBeth
I can confirm both the behavior and a usecase for a tagged datetree. In org-datetree.el the function org-datetree-find-year-create searches for the year on a headline and will not match content with anything beyond the fourth digit. : (defun org-datetree-find-year-create (year) : (let ((re "^\\*+[ \t]+\\([12][0-9][0-9][0-9]\\)$") : match) In this particular case the tag in question is :noexport: with white space fore (and maybe aft), and the following change to the regular expression was tested with success. : (defun org-datetree-find-year-create (year) : (let ((re "^\\*+[ \t]+\\([12][0-9][0-9][0-9]\\)[ \t]+:noexport:[ \t]*$") : match) Of course this only matches the specific tag in this example *and* only matches a datetree with this tag. The regular expression needs to be improved to include a valid tag set as optional. -- Tim Burt www.rketburt.org "It is healthful to every sane man to utter the art within him;" -- GK Chesterton