emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Erik Hetzner <egh@e6h.org>
To: org mode <emacs-orgmode@gnu.org>
Subject: [PATCH] org-capture, :default-time and <...>
Date: Tue, 08 Jul 2014 21:19:20 -0700	[thread overview]
Message-ID: <53bcc2d0.64b9420a.7e2f.ffffd6f7@mx.google.com> (raw)

[-- 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))

             reply	other threads:[~2014-07-09  4:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-09  4:19 Erik Hetzner [this message]
2014-07-28 16:13 ` [PATCH] org-capture, :default-time and <...> Bastien
2014-07-29  1:34   ` Erik Hetzner
2014-07-29 15:10     ` Bastien
2014-07-29 16:38       ` Erik Hetzner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53bcc2d0.64b9420a.7e2f.ffffd6f7@mx.google.com \
    --to=egh@e6h.org \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).