diff options
| -rw-r--r-- | lisp/emacs-lisp/comp-cstr.el | 4 | ||||
| -rw-r--r-- | test/lisp/emacs-lisp/comp-cstr-tests.el | 20 |
2 files changed, 15 insertions, 9 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'." | |||
| 790 | 790 | ||
| 791 | (setf (range pos) | 791 | (setf (range pos) |
| 792 | (comp-range-intersection (range pos) | 792 | (comp-range-intersection (range pos) |
| 793 | (comp-range-negation (range neg)))) | 793 | (comp-range-negation (range neg))) |
| 794 | (valset pos) | ||
| 795 | (cl-set-difference (valset pos) (valset neg))) | ||
| 794 | 796 | ||
| 795 | ;; Return a non negated form. | 797 | ;; Return a non negated form. |
| 796 | (setf (typeset dst) (typeset pos) | 798 | (setf (typeset dst) (typeset pos) |
diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el b/test/lisp/emacs-lisp/comp-cstr-tests.el index 2e4628522f4..59e1b6982e1 100644 --- a/test/lisp/emacs-lisp/comp-cstr-tests.el +++ b/test/lisp/emacs-lisp/comp-cstr-tests.el | |||
| @@ -198,22 +198,26 @@ | |||
| 198 | ((and (or symbol string) (or number marker)) . nil) | 198 | ((and (or symbol string) (or number marker)) . nil) |
| 199 | ;; 78 | 199 | ;; 78 |
| 200 | ((and t t) . t) | 200 | ((and t t) . t) |
| 201 | ;; 80 | 201 | ;; 79 |
| 202 | ((and (or marker number) (integer 0 0)) . (integer 0 0)) | 202 | ((and (or marker number) (integer 0 0)) . (integer 0 0)) |
| 203 | ;; 81 | 203 | ;; 80 |
| 204 | ((and t (not t)) . nil) | 204 | ((and t (not t)) . nil) |
| 205 | ;; 82 | 205 | ;; 81 |
| 206 | ((or (integer 1 1) (not (integer 1 1))) . t) | 206 | ((or (integer 1 1) (not (integer 1 1))) . t) |
| 207 | ;; 83 | 207 | ;; 82 |
| 208 | ((not t) . nil) | 208 | ((not t) . nil) |
| 209 | ;; 84 | 209 | ;; 83 |
| 210 | ((not nil) . t) | 210 | ((not nil) . t) |
| 211 | ;; 85 | 211 | ;; 84 |
| 212 | ((or (not string) t) . t) | 212 | ((or (not string) t) . t) |
| 213 | ;; 86 | 213 | ;; 85 |
| 214 | ((or (not vector) sequence) . sequence) | 214 | ((or (not vector) sequence) . sequence) |
| 215 | ;; 86 | ||
| 216 | ((or (not symbol) null) . t) | ||
| 215 | ;; 87 | 217 | ;; 87 |
| 216 | ((or (not symbol) null) . t)) | 218 | ((and (or null integer) (not (or null integer))) . nil) |
| 219 | ;; 88 | ||
| 220 | ((and (or (member a b c)) (not (or (member a b)))) . (member c))) | ||
| 217 | "Alist type specifier -> expected type specifier.")) | 221 | "Alist type specifier -> expected type specifier.")) |
| 218 | 222 | ||
| 219 | (defmacro comp-cstr-synthesize-tests () | 223 | (defmacro comp-cstr-synthesize-tests () |