summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp-cstr.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2021-04-27 22:43:12 +0200
committerAndrea Corallo <akrl@sdf.org>2021-04-27 22:58:41 +0200
commit4e1e0b9decfa2c8cb90b91d619ca078412513ba5 (patch)
treed735b589caae25ba342163604c3eef556d3d4798 /lisp/emacs-lisp/comp-cstr.el
parent2ab8d1ee3bd14a388ba3c3391257c337ad39c719 (diff)
downloademacs-4e1e0b9decfa2c8cb90b91d619ca078412513ba5.tar.gz
emacs-4e1e0b9decfa2c8cb90b91d619ca078412513ba5.tar.bz2
emacs-4e1e0b9decfa2c8cb90b91d619ca078412513ba5.zip
Have `comp-cstr-intersection-no-mem' intersect pos neg value sets
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): intersect pos and neg value sets * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add two tests and fix some test number.
Diffstat (limited to 'lisp/emacs-lisp/comp-cstr.el')
-rw-r--r--lisp/emacs-lisp/comp-cstr.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el
index 2a50ceb194f..73b78a3672d 100644
--- a/lisp/emacs-lisp/comp-cstr.el
+++ b/lisp/emacs-lisp/comp-cstr.el
@@ -790,7 +790,9 @@ Non memoized version of `comp-cstr-intersection-no-mem'."
(setf (range pos)
(comp-range-intersection (range pos)
- (comp-range-negation (range neg))))
+ (comp-range-negation (range neg)))
+ (valset pos)
+ (cl-set-difference (valset pos) (valset neg)))
;; Return a non negated form.
(setf (typeset dst) (typeset pos)