emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [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	[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 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).