summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp-cstr.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-12-29 14:31:16 +0100
committerAndrea Corallo <akrl@sdf.org>2020-12-29 17:49:30 +0100
commita3b816ff8ce17ec559043b053e60b631e5dc5eb8 (patch)
tree1d2ac7d5872234f92ddda1740bceb93798864dfa /lisp/emacs-lisp/comp-cstr.el
parentc4efb49a27f05284d28eac7f60b28495c68f63fb (diff)
downloademacs-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/comp-cstr.el')
-rw-r--r--lisp/emacs-lisp/comp-cstr.el11
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."