ledger-read-commodity-string now calls ledger-split-commodity-string

This commit is contained in:
Craig Earls 2013-04-01 20:48:00 -07:00
parent 78bedf7c8e
commit eed1d8e53e

View file

@ -127,25 +127,15 @@ longer ones are after the value."
(concat commodity " " val))))
(defun ledger-read-commodity-string (prompt)
"Return a commoditizd value (val 'comm') from COMM.
Assumes a space between the value and the commodity."
(let ((parts (split-string (read-from-minibuffer
(concat prompt " (" ledger-reconcile-default-commodity "): ")))))
(if parts
(if (/= (length parts) 2) ;;assume a number was entered and
;;use default commodity
(list (string-to-number (car parts))
ledger-reconcile-default-commodity)
(let ((valp1 (string-to-number (car parts)))
(valp2 (string-to-number (cadr parts))))
(cond ((and (= valp1 valp2) (= 0 valp1)) ;; means neither contained a valid number (both = 0)
(list 0 ""))
((and (/= 0 valp1) (= valp2 0))
(list valp1 (cadr parts)))
((and (/= 0 valp2) (= valp1 0))
(list valp2 (car parts)))
(t
(error "Cannot understand commodity"))))))))
(let ((str (read-from-minibuffer
(concat prompt " (" ledger-reconcile-default-commodity "): ")))
comm)
(if (> (length str) 0)
(progn
(setq comm (ledger-split-commodity-string str))
(if (cadr comm)
comm
(list (car comm) ledger-reconcile-default-commodity))))))
(provide 'ldg-commodities)