diff options
author | Moritz Ulrich <moritz@tarn-vedra.de> | 2013-12-30 01:41:31 +0100 |
---|---|---|
committer | Moritz Ulrich <moritz@tarn-vedra.de> | 2013-12-30 01:41:31 +0100 |
commit | 9f694169a87d74f204967b68f3822685f5450bad (patch) | |
tree | 2c0f2eba90fd62958134103b1cf4c038329085ce /lisp | |
parent | 7dd82f8bacf8dfb8db42a462452c114209a72c9c (diff) | |
download | fork-ledger-9f694169a87d74f204967b68f3822685f5450bad.tar.gz fork-ledger-9f694169a87d74f204967b68f3822685f5450bad.tar.bz2 fork-ledger-9f694169a87d74f204967b68f3822685f5450bad.zip |
ledger-mode: Introduce `ledger-default-date-format'.
Some elisp functions depend on a date-format supplied in ~/.ledgerrc. Change these by introducing a default ("%Y/%m/%d").
Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ledger-init.el | 2 | ||||
-rw-r--r-- | lisp/ledger-mode.el | 8 | ||||
-rw-r--r-- | lisp/ledger-reconcile.el | 10 | ||||
-rw-r--r-- | lisp/ledger-schedule.el | 5 |
4 files changed, 16 insertions, 9 deletions
diff --git a/lisp/ledger-init.el b/lisp/ledger-init.el index d7eeb3f6..f7b65e96 100644 --- a/lisp/ledger-init.el +++ b/lisp/ledger-init.el @@ -30,6 +30,8 @@ (defvar ledger-environment-alist nil) +(defvar ledger-default-date-format "%Y/%m/%d") + (defun ledger-init-parse-initialization (buffer) (with-current-buffer buffer (let (environment-alist) diff --git a/lisp/ledger-mode.el b/lisp/ledger-mode.el index b1df4a6b..28856bd4 100644 --- a/lisp/ledger-mode.el +++ b/lisp/ledger-mode.el @@ -179,9 +179,11 @@ With a prefix argument, remove the effective date. " (if (and (listp arg) (= 4 (prefix-numeric-value arg))) (ledger-remove-effective-date) - (let ((context (car (ledger-context-at-point))) - (date-string (format-time-string - (cdr (assoc "date-format" ledger-environment-alist))))) + (let* ((context (car (ledger-context-at-point))) + (date-format (or + (cdr (assoc "date-format" ledger-environment-alist)) + ledger-default-date-format)) + (date-string (format-time-string date-format))) (save-restriction (narrow-to-region (point-at-bol) (point-at-eol)) (cond diff --git a/lisp/ledger-reconcile.el b/lisp/ledger-reconcile.el index 2e8e1ef9..44e60532 100644 --- a/lisp/ledger-reconcile.el +++ b/lisp/ledger-reconcile.el @@ -28,6 +28,7 @@ ;;; Code: (require 'easymenu) +(require 'ledger-init) (defvar ledger-buf nil) (defvar ledger-bufs nil) @@ -64,7 +65,7 @@ reconcile-finish will mark all pending posting cleared." :type 'boolean :group 'ledger-reconcile) -(defcustom ledger-reconcile-default-date-format "%Y/%m/%d" +(defcustom ledger-reconcile-default-date-format ledger-default-date-format "Default date format for the reconcile buffer" :type 'string :group 'ledger-reconcile) @@ -306,15 +307,14 @@ POSTING is used in `ledger-clear-whole-transactions' is nil." (if (looking-at "(") (read (current-buffer)))))))) ;current-buffer is the *temp* created above (if (and ledger-success (> (length xacts) 0)) - (let ((date-format (cdr (assoc "date-format" ledger-environment-alist)))) + (let ((date-format (or (cdr (assoc "date-format" ledger-environment-alist)) + ledger-default-date-format))) (dolist (xact xacts) (dolist (posting (nthcdr 5 xact)) (let ((beg (point)) (where (ledger-marker-where-xact-is xact posting))) (insert (format "%s %-4s %-30s %-30s %15s\n" - (format-time-string (if date-format - date-format - ledger-reconcile-default-date-format) (nth 2 xact)) + (format-time-string date-format (nth 2 xact)) (if (nth 3 xact) (nth 3 xact) "") diff --git a/lisp/ledger-schedule.el b/lisp/ledger-schedule.el index ce77f26b..c9ee4392 100644 --- a/lisp/ledger-schedule.el +++ b/lisp/ledger-schedule.el @@ -30,6 +30,8 @@ ;; function slot of the symbol VARNAME. Then use VARNAME as the ;; function without have to use funcall. +(require 'ledger-init) + (defgroup ledger-schedule nil "Support for automatically recommendation transactions." :group 'ledger) @@ -288,7 +290,8 @@ returns true if the date meets the requirements" "Format CANDIDATE-ITEMS for display." (let ((candidates (ledger-schedule-list-upcoming-xacts candidate-items early horizon)) (schedule-buf (get-buffer-create ledger-schedule-buffer-name)) - (date-format (cdr (assoc "date-format" ledger-environment-alist)))) + (date-format (or (cdr (assoc "date-format" ledger-environment-alist)) + ledger-default-date-format))) (with-current-buffer schedule-buf (erase-buffer) (dolist (candidate candidates) |