From: Mark Oteiza Date: Thu, 3 Mar 2016 17:56:44 +0000 (+0000) Subject: Complete temperature units in calc-convert-temperature X-Git-Tag: emacs-25.0.93~138 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=66d2717;p=emacs.git Complete temperature units in calc-convert-temperature * lisp/calc/calc-units.el (calc-convert-temperature): Complete with temperature units in math-standard-units. --- diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index 07d9ac90d85..525e3e247d5 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -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)))