]> git.eshelyaron.com Git - emacs.git/commitdiff
Complete temperature units in calc-convert-temperature
authorMark Oteiza <mvoteiza@udel.edu>
Thu, 3 Mar 2016 17:56:44 +0000 (17:56 +0000)
committerMark Oteiza <mvoteiza@udel.edu>
Thu, 3 Mar 2016 17:56:44 +0000 (17:56 +0000)
* lisp/calc/calc-units.el (calc-convert-temperature): Complete with
temperature units in math-standard-units.

lisp/calc/calc-units.el

index 07d9ac90d851b2f2c11c19af2abc225b4b0ef933..525e3e247d5dbab8ecead0a2b3711e5c70efbc43 100644 (file)
@@ -565,7 +565,12 @@ If COMP or STD is non-nil, put that in the units table instead."
 (defun calc-convert-temperature (&optional old-units new-units)
   (interactive)
   (calc-slow-wrapper
-   (let ((expr (calc-top-n 1))
+   (let ((tempunits (delq nil
+                          (mapcar
+                           (lambda (x)
+                             (if (nth 3 x) (car x)))
+                           math-standard-units)))
+         (expr (calc-top-n 1))
         (uold nil)
         (uoldname nil)
         unew
@@ -580,15 +585,16 @@ If COMP or STD is non-nil, put that in the units table instead."
                                                     (car units)))))
                            (error "Not a pure temperature expression"))
                        (math-read-expr
-                        (setq uoldname (read-string
-                                        "Old temperature units: ")))))))
+                        (setq uoldname (completing-read
+                                        "Old temperature units: "
+                                         tempunits)))))))
      (when (eq (car-safe uold) 'error)
        (error "Bad format in units expression: %s" (nth 2 uold)))
      (or (math-units-in-expr-p expr nil)
         (setq expr (math-mul expr uold)))
      (setq defunits (math-get-default-units expr))
      (setq unew (or new-units
-                    (read-string
+                    (completing-read
                      (concat
                       (if uoldname
                           (concat "Old temperature units: "
@@ -599,7 +605,8 @@ If COMP or STD is non-nil, put that in the units table instead."
                           (concat " (default "
                                   defunits
                                   "): ")
-                        ": ")))))
+                        ": "))
+                     tempunits)))
      (setq unew (math-read-expr (if (string= unew "") defunits unew)))
      (when (eq (car-safe unew) 'error)
        (error "Bad format in units expression: %s" (nth 2 unew)))