diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-12-29 14:31:16 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-12-29 17:49:30 +0100 |
commit | a3b816ff8ce17ec559043b053e60b631e5dc5eb8 (patch) | |
tree | 1d2ac7d5872234f92ddda1740bceb93798864dfa /lisp/emacs-lisp | |
parent | c4efb49a27f05284d28eac7f60b28495c68f63fb (diff) | |
download | emacs-a3b816ff8ce17ec559043b053e60b631e5dc5eb8.tar.gz emacs-a3b816ff8ce17ec559043b053e60b631e5dc5eb8.tar.bz2 emacs-a3b816ff8ce17ec559043b053e60b631e5dc5eb8.zip |
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/comp-cstr.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el index ce702422932..c03056e3afe 100644 --- a/lisp/emacs-lisp/comp-cstr.el +++ b/lisp/emacs-lisp/comp-cstr.el @@ -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." |