]> git.eshelyaron.com Git - emacs.git/commitdiff
calc/calc-units.el (math-extract-units): Properly extract powers of units.
authorJay Belanger <jay.p.belanger@gmail.com>
Sat, 20 Oct 2012 04:14:32 +0000 (23:14 -0500)
committerJay Belanger <jay.p.belanger@gmail.com>
Sat, 20 Oct 2012 04:14:32 +0000 (23:14 -0500)
lisp/ChangeLog
lisp/calc/calc-units.el

index 690aaa70eacc9d7cc24121fd14c29ca49ce3d542..7830f8312daf6261b8bad3f3d7e570dac950a02f 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-20  Jay Belanger  <jay.p.belanger@gmail.com>
+
+       * calc/calc-units.el (math-extract-units): Properly extract powers
+       of units.
+
 2012-10-20  Daniel Colascione  <dancol@dancol.org>
 
        * frame.el (make-frame): Set x-display-name as we used to in order
index 39f710f83222f3357a7380775d96e3defc1a101a..58646ea114c98692bceeb2b7f3c27587f1a0434e 100644 (file)
@@ -1481,10 +1481,16 @@ If COMP or STD is non-nil, put that in the units table instead."
            (mapcar 'math-remove-units (cdr expr))))))
 
 (defun math-extract-units (expr)
-  (if (memq (car-safe expr) '(* /))
-      (cons (car expr)
-           (mapcar 'math-extract-units (cdr expr)))
-    (if (math-check-unit-name expr) expr 1)))
+  (cond
+   ((memq (car-safe expr) '(* /))
+    (cons (car expr)
+          (mapcar 'math-extract-units (cdr expr))))
+   ((and
+     (eq (car-safe expr) '^)
+     (math-check-unit-name (nth 1 expr)))
+    expr)
+   ((math-check-unit-name expr) expr)
+   (t 1)))
 
 (defun math-build-units-table-buffer (enter-buffer)
   (if (not (and math-units-table math-units-table-buffer-valid