* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'.

This commit is contained in:
Andrea Corallo 2020-12-29 14:31:16 +01:00
parent c4efb49a27
commit a3b816ff8c

View file

@ -61,7 +61,11 @@
'((- . +))))))
(: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."