]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix missing float handling into `comp-cstr-set-cmp-range'
authorAndrea Corallo <akrl@sdf.org>
Sat, 26 Dec 2020 12:09:24 +0000 (13:09 +0100)
committerAndrea Corallo <akrl@sdf.org>
Sat, 26 Dec 2020 19:00:01 +0000 (20:00 +0100)
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add
float handling.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Update results.

lisp/emacs-lisp/comp-cstr.el
test/src/comp-tests.el

index 9d0c67177b205d0592220a6b5c2aaa3480697660..1927207db636aed17ba85e2713d4ad3c995edec3 100644 (file)
@@ -366,7 +366,7 @@ Return them as multiple value."
   "Support range comparison functions."
   (with-comp-cstr-accessors
     (if ext-range
-        (setf (typeset dst) ()
+        (setf (typeset dst) (and (typeset old-dst) '(float))
               (valset dst) ()
               (range dst) (if (range old-dst)
                               (comp-range-intersection (range old-dst)
index e1c13598ad6865216c65f9c590b0a66bb15fba9f..446c30666f0d365bd1c8b5bbc2892a4edf561012 100644 (file)
@@ -953,84 +953,84 @@ Return a list of results."
       ((defun comp-tests-ret-type-spec-f (x)
          (when (> x 3)
            x))
-       (or null (integer 4 *)))
+       (or null float (integer 4 *)))
 
       ;; 23
       ((defun comp-tests-ret-type-spec-f (x)
          (when (>= x 3)
            x))
-       (or null (integer 3 *)))
+       (or null float (integer 3 *)))
 
       ;; 24
       ((defun comp-tests-ret-type-spec-f (x)
          (when (< x 3)
            x))
-       (or null (integer * 2)))
+       (or null float (integer * 2)))
 
       ;; 25
       ((defun comp-tests-ret-type-spec-f (x)
          (when (<= x 3)
            x))
-       (or null (integer * 3)))
+       (or null float (integer * 3)))
 
       ;; 26
       ((defun comp-tests-ret-type-spec-f (x)
          (when (> 3 x)
            x))
-       (or null (integer * 2)))
+       (or null float (integer * 2)))
 
       ;; 27
       ((defun comp-tests-ret-type-spec-f (x)
          (when (>= 3 x)
            x))
-       (or null (integer * 3)))
+       (or null float (integer * 3)))
 
       ;; 28
       ((defun comp-tests-ret-type-spec-f (x)
          (when (< 3 x)
            x))
-       (or null (integer 4 *)))
+       (or null float (integer 4 *)))
 
       ;; 29
       ((defun comp-tests-ret-type-spec-f (x)
          (when (<= 3 x)
            x))
-       (or null (integer 3 *)))
+       (or null float (integer 3 *)))
 
       ;; 30
       ((defun comp-tests-ret-type-spec-f (x)
          (let ((y 3))
           (when (> x y)
             x)))
-       (or null (integer 4 *)))
+       (or null float (integer 4 *)))
 
       ;; 31
       ((defun comp-tests-ret-type-spec-f (x)
          (let ((y 3))
           (when (> y x)
             x)))
-       (or null (integer * 2)))
+       (or null float (integer * 2)))
 
       ;; 32
       ((defun comp-tests-ret-type-spec-f (x)
          (when (and (> x 3)
                    (< x 10))
           x))
-       (or null (integer 4 9)))
+       (or null float (integer 4 9)))
 
       ;; 33
       ((defun comp-tests-ret-type-spec-f (x)
          (when (or (> x 3)
                    (< x 10))
           x))
-       (or null integer))
+       (or null float integer))
 
       ;; 34
       ((defun comp-tests-ret-type-spec-f (x)
          (when (or (< x 3)
                    (> x 10))
           x))
-       (or null (integer * 2) (integer 11 *)))
+       (or null float (integer * 2) (integer 11 *)))
 
       ;; 35 No float range support.
       ((defun comp-tests-ret-type-spec-f (x)