diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/calc/calc-units.el | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4f24f5b2c8c..c8a4a06f28d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-03-08 Jay Belanger <jay.p.belanger@gmail.com> + + * calc/calc-units.el (calc-convert-units): Fix the way that default + new units are stored. + 2013-03-07 Karl Fogel <kfogel@red-bean.com> * bookmark.el: Define a face to highlight bookmark names in diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index b334d7b3b45..335980af4dd 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -503,11 +503,13 @@ If COMP or STD is non-nil, put that in the units table instead." (comp (eq (car-safe units) '+))) (unless (or unew std) (error "No units specified")) - (let ((res - (if std - (math-simplify-units (math-to-standard-units expr (nth 1 std))) - (math-convert-units expr units (and uoldname (not (equal uoldname "1"))))))) - (math-put-default-units res (if comp units)) + (let* ((noold (and uoldname (not (equal uoldname "1")))) + (res + (if std + (math-simplify-units (math-to-standard-units expr (nth 1 std))) + (math-convert-units expr units noold)))) + (unless std + (math-put-default-units (if noold units res) (if comp units))) (calc-enter-result 1 "cvun" res)))))) (defun calc-autorange-units (arg) |