]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'.
authorAndrea Corallo <akrl@sdf.org>
Tue, 29 Dec 2020 13:31:16 +0000 (14:31 +0100)
committerAndrea Corallo <akrl@sdf.org>
Tue, 29 Dec 2020 16:49:30 +0000 (17:49 +0100)
lisp/emacs-lisp/comp-cstr.el

index ce702422932c0411b9ac8e1aaf189d9cd51cf377..c03056e3afeab3aa03afdd0ee7bf55259d874bba 100644 (file)
                                                       '((- . +))))))
                          (:constructor comp-value-to-cstr
                                        (value &aux
-                                              (valset (list value))
+                                              (integer (integerp value))
+                                              (valset (unless integer
+                                                        (list value)))
+                                              (range (when integer
+                                                       `((,value . ,value))))
                                               (typeset ())))
                          (:constructor comp-irange-to-cstr
                                        (irange &aux
@@ -170,9 +174,8 @@ Return them as multiple value."
      collect cstr into positives
    finally return (cl-values positives negatives)))
 
-(defvar comp-cstr-one (make-comp-cstr :typeset ()
-                                      :range '((1 . 1)))
-  "Represent the integer immediate one (1).")
+(defvar comp-cstr-one (comp-value-to-cstr 1)
+  "Represent the integer immediate one.")
 
 (defun comp-pred-to-cstr (predicate)
   "Given PREDICATE return the correspondig constraint."