diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index 4ec96d3ef53..060d352fe66 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el @@ -877,7 +877,7 @@ calcFunc-tanh math-arccos-raw math-arcsin-raw math-arctan-raw math-arctan2-raw math-cos-raw math-cot-raw math-csc-raw math-exp-minus-1-raw math-exp-raw math-from-radians math-from-radians-2 math-hypot math-infinite-dir -math-ln-raw math-nearly-equal math-nearly-equal-float +math-ln-10 math-ln-raw math-nearly-equal math-nearly-equal-float math-nearly-zerop math-nearly-zerop-float math-nth-root math-sin-cos-raw math-sin-raw math-sqrt math-sqrt-float math-sqrt-raw math-tan-raw math-to-radians math-to-radians-2) diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index d2396a9b262..4a638e66132 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -314,7 +314,8 @@ ;; Logarithmic units ( Np nil "*Neper") - ( dB "(ln(10)/20) Np" "decibel")) + ( dB "(ln10/20) Np" "Decibel" nil + "(ln(10)/20) Np")) "List of predefined units for Calc. Each element is (NAME DEF DESC TEMP-UNIT HUMAN-DEF), where: @@ -948,10 +949,9 @@ If COMP or STD is non-nil, put that in the units table instead." ((eq (car expr) '+) (math-find-base-units-rec (nth 1 expr) pow)) ((eq (car expr) 'var) - (or (eq (nth 1 expr) 'pi) + (or (memq (nth 1 expr) '(pi ln10)) (error "Unknown name %s in defining expression for unit %s" (nth 1 expr) (car math-fbu-entry)))) - ((equal expr '(calcFunc-ln 10))) (t (error "Malformed defining expression for unit %s" (car math-fbu-entry)))))) @@ -1055,9 +1055,9 @@ If COMP or STD is non-nil, put that in the units table instead." math-unit-prefixes)) expr))) expr) - (if (eq base 'pi) - (math-pi) - expr))) + (cond ((eq base 'pi) (math-pi)) + ((eq base 'ln10) (math-ln-10)) + (t expr)))) (if (or (Math-primp expr) (and (eq (car-safe expr) 'calcFunc-subscr)