emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-capture, datetree, and tags


From: Tim Burt
Subject: Re: [O] org-capture, datetree, and tags
Date: Wed, 20 Feb 2013 06:40:26 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Jeffrey Brent McBeth <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]