On 5/18/2017 1:47 AM, Tino Calancha wrote:

--- a/test/lisp/calc/calc-tests.el
+++ b/test/lisp/calc/calc-tests.el

`@@ -86,6 +86,50 @@ An existing calc stack is reused, otherwise a new one is
``created."
` (math-read-expr "1m") "cm")
'(* -100 (var cm var-cm)))))
+(ert-deftest test-calc-23889 ()
+ "Test forhttp://debbugs.gnu.org/23889 and 25652."
+ (dolist (mode '(deg rad))
+ (let ((calc-angle-mode mode))
+ ;; If user inputs angle units, then should ignore `calc-angle-mode'.
+ (should (string= "5253"
+ (substring
+ (number-to-string
+ (nth 1
+ (math-simplify-units
+ '(calcFunc-cos (* 45 (var rad var-rad))))))
+ 0 4)))

`This can fail on some platforms, depending on the size of a Lisp integer,
``because
`
(nth 1
(math-simplify-units
'(calcFunc-cos (* 45 (var rad var-rad)))))

`doesn't necessarily evaluate to an integer. For example, on 32-bit Cygwin it
``evaluates to (bigpos 8818 2198 5253). This causes the test to fail as
``follows:
`
$ make -C test calc-tests SELECTOR='\"test-calc-23889$$\"'
[...]
Test test-calc-23889 condition:
(wrong-type-argument numberp
(bigpos 8818 2198 5253))
FAILED 1/1 test-calc-23889