Don't use the angle mode, use the angle units included
in the expression instead (Bug#23889).
* lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
(math-simplify): Use it.
* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
Don't use calc-angle-mode if math-simplifying-units is non-nil.
* lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
(math-to-radians-2, math-from-radians-2): Don't convert angle
to radians if math-simplifying-units is non-nil.
* test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
is non-nil (Bug#23889).
* lisp/calc/calc-math.el (math-to-radians, math-from-radians)
(math-from-radians-2, math-to-radians-2): Idem.
Add option to force `pi' to remain symbolic.
* calc/calcalg2.el (calcFunc-sin, calcFunc-cos, calcFunc-tan)
(calcFunc-cot, calcFunc-csc, calcFunc-sec, calcFunc-arcsin)
(calcFunc-arccos, calcFunc-arctan): Use symbolic `pi' in the
derivatives, when necessary.
when evaluating.
* calc/calc-units.el (math-conditional-apply, math-conditional-pow):
New function.
(math-logunits-add, math-logunits-mul, math-logunits-divide):
(math-logunits-quant, math-logunits-level): Use
`math-conditional-apply' and `math-conditional-pow' to evaluate
functions.
(math-logunits-level): Extract units from ratio.
instead of `calc-ul-prefix-help'.
* calc/calc-math.el (calcFunc-log10): Don't signal an error in symbolic
mode.
* calc/calc-vec.el (calcFunc-subscr): Don't do anything if the first
argument is a variable.
original argument.
(math-cos-raw): Use optional argument when calling math-sin-raw.
(math-sin-raw-2, math-cos-raw-2): Check for a zero argument with close
to original precision.
(math-nth-root-float, math-nth-root-float-iter): Replace variables
n, nf and nfm1 by declared variables.
(math-nri-n): New variable.
(math-nth-root-int, math-nth-root-int-iter): Replace variable n by
declared variable.
(calcFunc-log): Removed misplaced condition.