emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master c48e539 2/2: Use the expression angle units whi


From: Tino Calancha
Subject: Re: [Emacs-diffs] master c48e539 2/2: Use the expression angle units while simplifying it
Date: Fri, 26 May 2017 11:03:52 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Thu, 25 May 2017, Ken Brown wrote:

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
Thank you.
I pushed a fix which skip the test if the Lisp integer isn't big enough.
It must be OK now.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]