* [PATCH] org-capture, :default-time and <...>
@ 2014-07-09 4:19 Erik Hetzner
2014-07-28 16:13 ` Bastien
0 siblings, 1 reply; 5+ messages in thread
From: Erik Hetzner @ 2014-07-09 4:19 UTC (permalink / raw)
To: org mode
[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]
Hi all,
I am pretty sure that the following org-capture setup used to work,
but it doesn’t seem to anymore. The intention is to manually select a
date and use this with a custom date format (e.g. %<%Y/%m/%d>). (The
custom date format is for ledger; I use this to capture ledger
transations.)
But it doesn’t work now (if it ever did – looking at git blame doesn’t
help me figure out why it might have worked) without the attached
patch, with passes along the custom time to format-time-string. Would
it be a problem if this patch were applied? Thank you.
best, Erik
(defun egh:org-capture-ledger-file ()
(let* ((date (org-read-date nil t))
(filename (format "~/c/finances/%s.lgr"
(format-time-string "%Y" date))))
(org-capture-put :default-time date)
(set-buffer (org-capture-target-buffer filename))
(goto-char (point-max))))
(setq org-capture-templates
'(("c" "Cash" plain
(function egh:org-capture-ledger-file)
"%<%Y/%m/%d> * %^{Payee}
Expenses:Erik:Cash
Expenses:%^{Account} $%^{Amount}"
:empty-lines 1)))
--
Sent from my free software system <http://fsf.org/>.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: fix-custom-time-string.diff --]
[-- Type: text/plain; type=patch; name="fix-custom-time-string.diff"; charset=X-UNKNOWN, Size: 524 bytes --]
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index cbdf6f7..54f207d 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1612,7 +1612,7 @@ The template may still contain \"%?\" for cursor positioning."
;; The current time
(goto-char (point-min))
(while (re-search-forward "%<\\([^>\n]+\\)>" nil t)
- (replace-match (format-time-string (match-string 1)) t t))
+ (replace-match (format-time-string (match-string 1) ct) t t))
;; Simple %-escapes
(goto-char (point-min))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] org-capture, :default-time and <...>
2014-07-09 4:19 [PATCH] org-capture, :default-time and <...> Erik Hetzner
@ 2014-07-28 16:13 ` Bastien
2014-07-29 1:34 ` Erik Hetzner
0 siblings, 1 reply; 5+ messages in thread
From: Bastien @ 2014-07-28 16:13 UTC (permalink / raw)
To: Erik Hetzner; +Cc: org mode
Hi Erik,
using a custom date is done via `org-overriding-default-time' (within
a let construct) instead of (org-capture-put :default-time date).
Yes, the details are obscure and we need to better document this.
Let us know if you achieve something,
--
Bastien
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] org-capture, :default-time and <...>
2014-07-28 16:13 ` Bastien
@ 2014-07-29 1:34 ` Erik Hetzner
2014-07-29 15:10 ` Bastien
0 siblings, 1 reply; 5+ messages in thread
From: Erik Hetzner @ 2014-07-29 1:34 UTC (permalink / raw)
To: Bastien; +Cc: org mode
At Mon, 28 Jul 2014 18:13:04 +0200,
Bastien wrote:
>
> Hi Erik,
>
> using a custom date is done via `org-overriding-default-time' (within
> a let construct) instead of (org-capture-put :default-time date).
>
> Yes, the details are obscure and we need to better document this.
>
> Let us know if you achieve something,
Hi Bastien,
Thanks so much for your reply.
What I would like to do is have something a capture template string
similar to %^t, but with a custom date format string, e.g.
%^<%Y/%m/%d>. Is this possible in some way? I was using
org-capture-put because that is how org-capture-set-target-location
uses it for the file+datetree+prompt method.
best, Erik
--
Sent from my free software system <http://fsf.org/>.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] org-capture, :default-time and <...>
2014-07-29 1:34 ` Erik Hetzner
@ 2014-07-29 15:10 ` Bastien
2014-07-29 16:38 ` Erik Hetzner
0 siblings, 1 reply; 5+ messages in thread
From: Bastien @ 2014-07-29 15:10 UTC (permalink / raw)
To: Erik Hetzner; +Cc: org mode
Hi Erik,
Erik Hetzner <egh@e6h.org> writes:
> What I would like to do is have something a capture template string
> similar to %^t, but with a custom date format string, e.g.
> %^<%Y/%m/%d>. Is this possible in some way?
I'd use this in the capture template:
%(format-time-string "%Y/%m/%d" (org-time-string-to-time (org-read-date)))
but %^<...> would make sense to, I'll add it to the requested features.
HTH,
--
Bastien
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] org-capture, :default-time and <...>
2014-07-29 15:10 ` Bastien
@ 2014-07-29 16:38 ` Erik Hetzner
0 siblings, 0 replies; 5+ messages in thread
From: Erik Hetzner @ 2014-07-29 16:38 UTC (permalink / raw)
To: Bastien; +Cc: org mode
Hi Bastien,
At Tue, 29 Jul 2014 17:10:51 +0200,
Bastien wrote:
>
> Hi Erik,
>
> Erik Hetzner <egh@e6h.org> writes:
>
> > What I would like to do is have something a capture template string
> > similar to %^t, but with a custom date format string, e.g.
> > %^<%Y/%m/%d>. Is this possible in some way?
>
> I'd use this in the capture template:
>
> %(format-time-string "%Y/%m/%d" (org-time-string-to-time (org-read-date)))
>
> but %^<...> would make sense to, I'll add it to the requested features.
Of course! Thank you so much, again, for your help.
best, Erik
--
Sent from my free software system <http://fsf.org/>.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-29 16:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-09 4:19 [PATCH] org-capture, :default-time and <...> Erik Hetzner
2014-07-28 16:13 ` Bastien
2014-07-29 1:34 ` Erik Hetzner
2014-07-29 15:10 ` Bastien
2014-07-29 16:38 ` Erik Hetzner
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).