* question about capture templates
@ 2011-02-21 15:08 Filippo A. Salustri
2011-02-21 15:29 ` Sébastien Vauban
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Filippo A. Salustri @ 2011-02-21 15:08 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 764 bytes --]
Hi,
I would really like to be able to vary the file into which a captured item
goes. Specifically, I'd like to insert the item into whatever file I was
visiting when I started the capture.
I've been trying something like this:
> ("m" "Message" entry (file+datetree (buffer-file-name
> (buffer-base-buffer))) "* MSG @ %U %?\n %a")
But the (buffer-file-name (buffer-base-buffer)) doesn't work because the
item keeps ending up in the default capture file.
Can anyone suggest a way to do this?
Cheers.
Fil Salustri
--
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salustri@ryerson.ca
http://deseng.ryerson.ca/~fil/
[-- Attachment #1.2: Type: text/html, Size: 1311 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-21 15:08 question about capture templates Filippo A. Salustri @ 2011-02-21 15:29 ` Sébastien Vauban 2011-02-21 16:32 ` Richard Lawrence 2011-02-21 15:32 ` Matthew Sauer 2011-02-21 16:01 ` Matthew Sauer 2 siblings, 1 reply; 15+ messages in thread From: Sébastien Vauban @ 2011-02-21 15:29 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Filippo, "Filippo A. Salustri" wrote: > I would really like to be able to vary the file into which a captured item > goes. Specifically, I'd like to insert the item into whatever file I was > visiting when I started the capture. > > I've been trying something like this: > >> ("m" "Message" entry (file+datetree (buffer-file-name >> (buffer-base-buffer))) "* MSG @ %U %?\n %a") > > But the (buffer-file-name (buffer-base-buffer)) doesn't work because the > item keeps ending up in the default capture file. > > Can anyone suggest a way to do this? You have to use backquotes so that expressions are considered as code to execute, instead of data. See Emacs manual. In your case, something like this should do it (untested): #+begin_src emacs-lisp (setq org-capture-templates `(("m" "Message" entry (file+datetree ,(buffer-file-name (buffer-base-buffer))) "* MSG @ %U %?\n %a"))) #+end_src See backquote used instead of quote. See comma in front of functions and variables. Here, though, I'm not sure whether another comma is needed or not in front of =buffer-base-buffer=. Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-21 15:29 ` Sébastien Vauban @ 2011-02-21 16:32 ` Richard Lawrence 2011-02-21 22:14 ` Sébastien Vauban 0 siblings, 1 reply; 15+ messages in thread From: Richard Lawrence @ 2011-02-21 16:32 UTC (permalink / raw) To: emacs-orgmode Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes: > "Filippo A. Salustri" wrote: >> I would really like to be able to vary the file into which a captured item >> goes. Specifically, I'd like to insert the item into whatever file I was >> visiting when I started the capture. > You have to use backquotes so that expressions are considered as code to > execute, instead of data. See Emacs manual. I'm not sure that backquotes will do what the OP wants. Backquotes will allow the OP to compute the value of a target file at the time the (setq org-capture templates ...) form is evaluated. The OP needs a way to determine the target file at the time of capture (right?), not at the time the variable is set. Unfortunately, I don't have any suggestions on how to hack that. If the target of most captures can be determined based on their type, maybe you can just use the refile mechanism (C-c C-w instead of C-c C-c) to manually handle the exceptions. If not, maybe look into wrapping or replacing org-capture-refile somehow. Best, Richard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-21 16:32 ` Richard Lawrence @ 2011-02-21 22:14 ` Sébastien Vauban 2011-02-22 0:39 ` Filippo A. Salustri 0 siblings, 1 reply; 15+ messages in thread From: Sébastien Vauban @ 2011-02-21 22:14 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Richard, Richard Lawrence wrote: > Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: >> "Filippo A. Salustri" wrote: >>> I would really like to be able to vary the file into which a captured item >>> goes. Specifically, I'd like to insert the item into whatever file I was >>> visiting when I started the capture. > >> You have to use backquotes so that expressions are considered as code to >> execute, instead of data. See Emacs manual. > > I'm not sure that backquotes will do what the OP wants. Backquotes will > allow the OP to compute the value of a target file at the time the (setq > org-capture templates ...) form is evaluated. The OP needs a way to > determine the target file at the time of capture (right?), not at the time > the variable is set. You're definitely right. I missed the distinction "at Org launch time" vs "at execution time"... Pull my answer off the records ;-) Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-21 22:14 ` Sébastien Vauban @ 2011-02-22 0:39 ` Filippo A. Salustri 2011-02-22 4:59 ` Richard Lawrence ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Filippo A. Salustri @ 2011-02-22 0:39 UTC (permalink / raw) To: Sébastien Vauban; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 2013 bytes --] Thanks to everyone for the varied and thoughtful responses. I didn't think of backquotes, but I know about them from Scheme, and no, they shouldn't work in this case. Very frustrating. org-capture clearly has the original buffer handy (for %a stuff) yet I can't get it out of there without hacking the org code, which I am loathe to do. Hmmm. I'll think some more. If I come up with anything; I'll report it. Cheers. Fil 2011/2/21 Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> > Hi Richard, > > Richard Lawrence wrote: > > Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes: > >> "Filippo A. Salustri" wrote: > >>> I would really like to be able to vary the file into which a captured > item > >>> goes. Specifically, I'd like to insert the item into whatever file I > was > >>> visiting when I started the capture. > > > >> You have to use backquotes so that expressions are considered as code to > >> execute, instead of data. See Emacs manual. > > > > I'm not sure that backquotes will do what the OP wants. Backquotes will > > allow the OP to compute the value of a target file at the time the (setq > > org-capture templates ...) form is evaluated. The OP needs a way to > > determine the target file at the time of capture (right?), not at the > time > > the variable is set. > > You're definitely right. I missed the distinction "at Org launch time" vs > "at > execution time"... Pull my answer off the records ;-) > > Best regards, > Seb > > -- > Sébastien Vauban > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > -- Filippo A. Salustri, Ph.D., P.Eng. Mechanical and Industrial Engineering Ryerson University 350 Victoria St, Toronto, ON M5B 2K3, Canada Tel: 416/979-5000 ext 7749 Fax: 416/979-5265 Email: salustri@ryerson.ca http://deseng.ryerson.ca/~fil/ [-- Attachment #1.2: Type: text/html, Size: 2884 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-22 0:39 ` Filippo A. Salustri @ 2011-02-22 4:59 ` Richard Lawrence 2011-02-22 9:19 ` Carsten Dominik 2011-02-22 7:43 ` Nick Dokos 2011-02-22 9:15 ` Carsten Dominik 2 siblings, 1 reply; 15+ messages in thread From: Richard Lawrence @ 2011-02-22 4:59 UTC (permalink / raw) To: emacs-orgmode "Filippo A. Salustri" <salustri@ryerson.ca> writes: > org-capture clearly has the original buffer handy (for %a > stuff) yet I can't get it out of there without hacking the org code, which I > am loathe to do. I too was in a situation just today where I was calling org-capture programatically, and needed access to stuff in the calling environment. My solution (which may not be very good, and may not work for you) is to dynamically scope the calling environment stuff that I need into the org-capture call, like so: #+begin_src emacs-lisp ; in the calling code, I scope some val I need into `foo...' (let ((foo some-val-I-need)) (org-capture nil "tm")) #+end_src Then, in the template identified by "tm", I have S-expression expansion that operates on foo, even though it wasn't explicitly passed as a parameter, e.g.: * My capture template The car of foo is %(car foo). The cdr of foo is %(cdr foo). %a etc. ... This works well enough for me, though it may feel kind of icky, since from the template writer's perspective, `foo' looks like a global variable whose value could be coming from anywhere. Accordingly, then, this solution is mostly useful if you know that you're going to be using the template via custom Elisp calls to org-capture, and not via the usual capture interface, so that you can guarantee that `foo' has a useful value when the template is expanded. One gotcha: S-expressions in templates are apparently always evaluated as function calls -- you can't just directly access a string value, like %(foo). Hope that's helpful! Richard P.S. Since you say you have Scheme experience: note that this solution would NOT work in Scheme, since Scheme, unlike Emacs Lisp, is lexically scoped. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 4:59 ` Richard Lawrence @ 2011-02-22 9:19 ` Carsten Dominik 2011-02-22 16:06 ` Richard Lawrence 0 siblings, 1 reply; 15+ messages in thread From: Carsten Dominik @ 2011-02-22 9:19 UTC (permalink / raw) To: Richard Lawrence; +Cc: emacs-orgmode On Feb 22, 2011, at 5:59 AM, Richard Lawrence wrote: > "Filippo A. Salustri" <salustri@ryerson.ca> writes: > >> org-capture clearly has the original buffer handy (for %a >> stuff) yet I can't get it out of there without hacking the org code, which I >> am loathe to do. > > I too was in a situation just today where I was calling org-capture > programatically, and needed access to stuff in the calling environment. > My solution (which may not be very good, and may not work for you) is to > dynamically scope the calling environment stuff that I need into the > org-capture call, like so: > > #+begin_src emacs-lisp > ; in the calling code, I scope some val I need into `foo...' > (let ((foo some-val-I-need)) > (org-capture nil "tm")) > #+end_src > > Then, in the template identified by "tm", I have S-expression expansion > that operates on foo, even though it wasn't explicitly passed as a > parameter, e.g.: > > * My capture template > The car of foo is %(car foo). > The cdr of foo is %(cdr foo). > %a > etc. ... > > This works well enough for me, though it may feel kind of icky, since > from the template writer's perspective, `foo' looks like a global > variable whose value could be coming from anywhere. I do love dynamic scoping, this give a lot of power in Emacs. Org-mode internals use that power often. > Accordingly, then, > this solution is mostly useful if you know that you're going to be using > the template via custom Elisp calls to org-capture, and not via the > usual capture interface, so that you can guarantee that `foo' has a > useful value when the template is expanded. > > One gotcha: S-expressions in templates are apparently always evaluated > as function calls -- you can't just directly access a string value, like > %(foo). I guess you mean a variable value? The shortest form may be %(symbol-value foo) if you want to access the value of a variable in a template. Kind regards - Carsten ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-22 9:19 ` Carsten Dominik @ 2011-02-22 16:06 ` Richard Lawrence 0 siblings, 0 replies; 15+ messages in thread From: Richard Lawrence @ 2011-02-22 16:06 UTC (permalink / raw) To: emacs-orgmode Carsten Dominik <carsten.dominik@gmail.com> writes: > I do love dynamic scoping, this give a lot of power in Emacs. > Org-mode internals use that power often. This is venturing a bit far afield, at least for this thread, but I'm curious if anyone knows: does the recent work on supporting Elisp in Guile mean that Elisp applications are eventually expected to be ported to Scheme? And if so, what does that mean for Org development? >> One gotcha: S-expressions in templates are apparently always evaluated >> as function calls -- you can't just directly access a string value, like >> %(foo). > > I guess you mean a variable value? Right, yes, a variable with a string value. I guess my point is more properly stated by saying there doesn't seem to be a way to evaluate an atomic S-expression in a template. But this seems like a fair trade for not having to write a second set of parentheses around every non-atomic expression. > The shortest form may be %(symbol-value foo) if you want to access the > value of a variable in a template. That's handy -- thanks! Richard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 0:39 ` Filippo A. Salustri 2011-02-22 4:59 ` Richard Lawrence @ 2011-02-22 7:43 ` Nick Dokos 2011-02-22 9:15 ` Carsten Dominik 2 siblings, 0 replies; 15+ messages in thread From: Nick Dokos @ 2011-02-22 7:43 UTC (permalink / raw) To: Filippo A. Salustri; +Cc: Sébastien Vauban, nicholas.dokos, emacs-orgmode Filippo A. Salustri <salustri@ryerson.ca> wrote: > Very frustrating. org-capture clearly has the original buffer handy (for %= > a > stuff) yet I can't get it out of there without hacking the org code, which = > I > am loathe to do. Hmmm. I'll think some more. If I come up with anything; > I'll report it. > The original buffer is accessible in the capture context using (org-capture-get :original-buffer) as Carsten pointed out in the following post: http://thread.gmane.org/gmane.emacs.orgmode/35759/focus=35799 HTH, Nick ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 0:39 ` Filippo A. Salustri 2011-02-22 4:59 ` Richard Lawrence 2011-02-22 7:43 ` Nick Dokos @ 2011-02-22 9:15 ` Carsten Dominik 2011-02-22 11:37 ` Bastien ` (2 more replies) 2 siblings, 3 replies; 15+ messages in thread From: Carsten Dominik @ 2011-02-22 9:15 UTC (permalink / raw) To: Filippo A. Salustri; +Cc: Sébastien Vauban, emacs-orgmode On Feb 22, 2011, at 1:39 AM, Filippo A. Salustri wrote: > Thanks to everyone for the varied and thoughtful responses. I didn't think of backquotes, but I know about them from Scheme, and no, they shouldn't work in this case. > > Very frustrating. org-capture clearly has the original buffer handy (for %a stuff) yet I can't get it out of there without hacking the org code, which I am loathe to do. Hmmm. I'll think some more. If I come up with anything; I'll report it. I have just implemented that whenever you mean a file name in capture templates, you can instead give a function, a variable, or a lisp form. So your original attempt >> ("m" "Message" entry (file+datetree (buffer-file-name >> (buffer-base-buffer))) "* MSG @ %U %?\n %a") should now work. Hope this helps - Carsten > > Cheers. > Fil > > 2011/2/21 Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> > Hi Richard, > > Richard Lawrence wrote: > > Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes: > >> "Filippo A. Salustri" wrote: > >>> I would really like to be able to vary the file into which a captured item > >>> goes. Specifically, I'd like to insert the item into whatever file I was > >>> visiting when I started the capture. > > > >> You have to use backquotes so that expressions are considered as code to > >> execute, instead of data. See Emacs manual. > > > > I'm not sure that backquotes will do what the OP wants. Backquotes will > > allow the OP to compute the value of a target file at the time the (setq > > org-capture templates ...) form is evaluated. The OP needs a way to > > determine the target file at the time of capture (right?), not at the time > > the variable is set. > > You're definitely right. I missed the distinction "at Org launch time" vs "at > execution time"... Pull my answer off the records ;-) > > Best regards, > Seb > > -- > Sébastien Vauban > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > > -- > Filippo A. Salustri, Ph.D., P.Eng. > Mechanical and Industrial Engineering > Ryerson University > 350 Victoria St, Toronto, ON > M5B 2K3, Canada > Tel: 416/979-5000 ext 7749 > Fax: 416/979-5265 > Email: salustri@ryerson.ca > http://deseng.ryerson.ca/~fil/ > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 9:15 ` Carsten Dominik @ 2011-02-22 11:37 ` Bastien 2011-02-23 14:49 ` Filippo A. Salustri 2011-02-23 17:28 ` Filippo A. Salustri 2 siblings, 0 replies; 15+ messages in thread From: Bastien @ 2011-02-22 11:37 UTC (permalink / raw) To: Carsten Dominik; +Cc: Vauban, Filippo A. Salustri, emacs-orgmode Hi Carsten, Carsten Dominik <carsten.dominik@gmail.com> writes: > I have just implemented that whenever you mean a file name > in capture templates, you can instead give a function, a > variable, or a lisp form. So your original attempt > >>> ("m" "Message" entry (file+datetree (buffer-file-name >>> (buffer-base-buffer))) "* MSG @ %U %?\n %a") > > should now work. Neat, thanks! -- Bastien ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 9:15 ` Carsten Dominik 2011-02-22 11:37 ` Bastien @ 2011-02-23 14:49 ` Filippo A. Salustri 2011-02-23 17:28 ` Filippo A. Salustri 2 siblings, 0 replies; 15+ messages in thread From: Filippo A. Salustri @ 2011-02-23 14:49 UTC (permalink / raw) To: Carsten Dominik; +Cc: Sébastien Vauban, emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 3267 bytes --] Carsten, Would your mod be implemented in the git build of 22 Feb? Cheers. Fil On 22 February 2011 04:15, Carsten Dominik <carsten.dominik@gmail.com>wrote: > > On Feb 22, 2011, at 1:39 AM, Filippo A. Salustri wrote: > > > Thanks to everyone for the varied and thoughtful responses. I didn't > think of backquotes, but I know about them from Scheme, and no, they > shouldn't work in this case. > > > > Very frustrating. org-capture clearly has the original buffer handy (for > %a stuff) yet I can't get it out of there without hacking the org code, > which I am loathe to do. Hmmm. I'll think some more. If I come up with > anything; I'll report it. > > I have just implemented that whenever you mean a file name > in capture templates, you can instead give a function, a > variable, or a lisp form. So your original attempt > > >> ("m" "Message" entry (file+datetree (buffer-file-name > >> (buffer-base-buffer))) "* MSG @ %U %?\n %a") > > should now work. > > Hope this helps > > - Carsten > > > > > Cheers. > > Fil > > > > 2011/2/21 Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> > > Hi Richard, > > > > Richard Lawrence wrote: > > > Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes: > > >> "Filippo A. Salustri" wrote: > > >>> I would really like to be able to vary the file into which a captured > item > > >>> goes. Specifically, I'd like to insert the item into whatever file I > was > > >>> visiting when I started the capture. > > > > > >> You have to use backquotes so that expressions are considered as code > to > > >> execute, instead of data. See Emacs manual. > > > > > > I'm not sure that backquotes will do what the OP wants. Backquotes will > > > allow the OP to compute the value of a target file at the time the > (setq > > > org-capture templates ...) form is evaluated. The OP needs a way to > > > determine the target file at the time of capture (right?), not at the > time > > > the variable is set. > > > > You're definitely right. I missed the distinction "at Org launch time" vs > "at > > execution time"... Pull my answer off the records ;-) > > > > Best regards, > > Seb > > > > -- > > Sébastien Vauban > > > > > > _______________________________________________ > > Emacs-orgmode mailing list > > Please use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > > > > > > -- > > Filippo A. Salustri, Ph.D., P.Eng. > > Mechanical and Industrial Engineering > > Ryerson University > > 350 Victoria St, Toronto, ON > > M5B 2K3, Canada > > Tel: 416/979-5000 ext 7749 > > Fax: 416/979-5265 > > Email: salustri@ryerson.ca > > http://deseng.ryerson.ca/~fil/ > > _______________________________________________ > > Emacs-orgmode mailing list > > Please use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > - Carsten > > > > -- Filippo A. Salustri, Ph.D., P.Eng. Mechanical and Industrial Engineering Ryerson University 350 Victoria St, Toronto, ON M5B 2K3, Canada Tel: 416/979-5000 ext 7749 Fax: 416/979-5265 Email: salustri@ryerson.ca http://deseng.ryerson.ca/~fil/ [-- Attachment #1.2: Type: text/html, Size: 4732 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Re: question about capture templates 2011-02-22 9:15 ` Carsten Dominik 2011-02-22 11:37 ` Bastien 2011-02-23 14:49 ` Filippo A. Salustri @ 2011-02-23 17:28 ` Filippo A. Salustri 2 siblings, 0 replies; 15+ messages in thread From: Filippo A. Salustri @ 2011-02-23 17:28 UTC (permalink / raw) To: Carsten Dominik; +Cc: Sébastien Vauban, emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 3272 bytes --] Yup; I just tried the git snapshot of 23 Feb and it's working. Thanks!! Cheers. Fil On 22 February 2011 04:15, Carsten Dominik <carsten.dominik@gmail.com>wrote: > > On Feb 22, 2011, at 1:39 AM, Filippo A. Salustri wrote: > > > Thanks to everyone for the varied and thoughtful responses. I didn't > think of backquotes, but I know about them from Scheme, and no, they > shouldn't work in this case. > > > > Very frustrating. org-capture clearly has the original buffer handy (for > %a stuff) yet I can't get it out of there without hacking the org code, > which I am loathe to do. Hmmm. I'll think some more. If I come up with > anything; I'll report it. > > I have just implemented that whenever you mean a file name > in capture templates, you can instead give a function, a > variable, or a lisp form. So your original attempt > > >> ("m" "Message" entry (file+datetree (buffer-file-name > >> (buffer-base-buffer))) "* MSG @ %U %?\n %a") > > should now work. > > Hope this helps > > - Carsten > > > > > Cheers. > > Fil > > > > 2011/2/21 Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> > > Hi Richard, > > > > Richard Lawrence wrote: > > > Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes: > > >> "Filippo A. Salustri" wrote: > > >>> I would really like to be able to vary the file into which a captured > item > > >>> goes. Specifically, I'd like to insert the item into whatever file I > was > > >>> visiting when I started the capture. > > > > > >> You have to use backquotes so that expressions are considered as code > to > > >> execute, instead of data. See Emacs manual. > > > > > > I'm not sure that backquotes will do what the OP wants. Backquotes will > > > allow the OP to compute the value of a target file at the time the > (setq > > > org-capture templates ...) form is evaluated. The OP needs a way to > > > determine the target file at the time of capture (right?), not at the > time > > > the variable is set. > > > > You're definitely right. I missed the distinction "at Org launch time" vs > "at > > execution time"... Pull my answer off the records ;-) > > > > Best regards, > > Seb > > > > -- > > Sébastien Vauban > > > > > > _______________________________________________ > > Emacs-orgmode mailing list > > Please use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > > > > > > -- > > Filippo A. Salustri, Ph.D., P.Eng. > > Mechanical and Industrial Engineering > > Ryerson University > > 350 Victoria St, Toronto, ON > > M5B 2K3, Canada > > Tel: 416/979-5000 ext 7749 > > Fax: 416/979-5265 > > Email: salustri@ryerson.ca > > http://deseng.ryerson.ca/~fil/ > > _______________________________________________ > > Emacs-orgmode mailing list > > Please use `Reply All' to send replies to the list. > > Emacs-orgmode@gnu.org > > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > - Carsten > > > > -- Filippo A. Salustri, Ph.D., P.Eng. Mechanical and Industrial Engineering Ryerson University 350 Victoria St, Toronto, ON M5B 2K3, Canada Tel: 416/979-5000 ext 7749 Fax: 416/979-5265 Email: salustri@ryerson.ca http://deseng.ryerson.ca/~fil/ [-- Attachment #1.2: Type: text/html, Size: 4748 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-21 15:08 question about capture templates Filippo A. Salustri 2011-02-21 15:29 ` Sébastien Vauban @ 2011-02-21 15:32 ` Matthew Sauer 2011-02-21 16:01 ` Matthew Sauer 2 siblings, 0 replies; 15+ messages in thread From: Matthew Sauer @ 2011-02-21 15:32 UTC (permalink / raw) To: Filippo A. Salustri; +Cc: emacs-orgmode I use remember and I set the org-remember-interactive-interface variable to refile. Now if I C-c it prompts me for my refile location I want to send the item to land at. If I C-u C-c C-c it goes to the default listed in the capture template. Handy since I have one TODO template but it could land in one of four files, one Homework Template for school and two files (taking two classes) that it could land in. Especially handy since I can't seem to have more than 5 remember templates causing it to become more about style of capture going to any destination I choose than style and destination for the templates. Oh, and I made my default destination a Refile bucket that then has to be sorted to the appropriate location. Matthew Sauer Sent From GNUS in emacs "Did I mention I love this thing?" ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: question about capture templates 2011-02-21 15:08 question about capture templates Filippo A. Salustri 2011-02-21 15:29 ` Sébastien Vauban 2011-02-21 15:32 ` Matthew Sauer @ 2011-02-21 16:01 ` Matthew Sauer 2 siblings, 0 replies; 15+ messages in thread From: Matthew Sauer @ 2011-02-21 16:01 UTC (permalink / raw) To: Filippo A. Salustri; +Cc: emacs-orgmode Correction , it is C-1 C-c C-c to go to the default location. C-u C-c C-c goes into the interactive mode and then visits the location stored. Matt ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2011-02-23 17:28 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-02-21 15:08 question about capture templates Filippo A. Salustri 2011-02-21 15:29 ` Sébastien Vauban 2011-02-21 16:32 ` Richard Lawrence 2011-02-21 22:14 ` Sébastien Vauban 2011-02-22 0:39 ` Filippo A. Salustri 2011-02-22 4:59 ` Richard Lawrence 2011-02-22 9:19 ` Carsten Dominik 2011-02-22 16:06 ` Richard Lawrence 2011-02-22 7:43 ` Nick Dokos 2011-02-22 9:15 ` Carsten Dominik 2011-02-22 11:37 ` Bastien 2011-02-23 14:49 ` Filippo A. Salustri 2011-02-23 17:28 ` Filippo A. Salustri 2011-02-21 15:32 ` Matthew Sauer 2011-02-21 16:01 ` Matthew Sauer
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).