Earlier in org-capture-fill-template, there is the following:(let* (...
(ct (org-capture-get :default-time))
...The property :default-time defaults to the current time and is overwritten by file+datetree+prompt,If ct was passed as a 2nd argument to format-time-string in your code snippet:;; The current time
(goto-char (point-min))
(while (re-search-forward "%<\\([^>\n]+\\)>" nil t)
(replace-match (format-time-string (match-string 1) ct) t t))this should provide the behavior I'm looking for with file+datetree+prompt, but still use the current time for other capture types. Will this solution break anything?ShankarOn Wed, Nov 4, 2015 at 2:15 PM, Nick Dokos <ndokos@gmail.com> wrote:Shankar Rao <shankar.rao@gmail.com> writes:
> For the following org capture template:
>
> (setq org-capture-templates
> '(("d" "Date Tree Test" plain
> (file+datetree+prompt "~/org/testdt.org")
> "This date should be the date i picked: %<%y%m%d>")))
>
> Though this is filed under the correct date in the datetree, no matter what date I select in the prompt,
> the date displayed in the template is the current date. Is this a bug or a feature?
>
It's a feature I guess - org-capture.el says:
;; The current time
(goto-char (point-min))
(while (re-search-forward "%<\\([^>\n]+\\)>" nil t)
(replace-match (format-time-string (match-string 1)) t t))
and there is no provision for another time to be given here. I don't
think there is any provision in the template for a time other than the
current time: at least I can't see a %-escape that takes a different
time.
--
Nick