mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Simplify correctly (or (integer 1 1) (not (integer 1 1))) as t
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic update. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add a test.
This commit is contained in:
parent
3540b1f167
commit
e0f20da6ec
2 changed files with 14 additions and 7 deletions
|
|
@ -474,12 +474,17 @@ DST is returned."
|
|||
(cl-nset-difference (valset neg) (valset pos)))))
|
||||
|
||||
;; Range propagation
|
||||
(setf (range neg)
|
||||
(when range
|
||||
;; Handle apart (or (integer 1 1) (not (integer 1 1)))
|
||||
;; like cases.
|
||||
(if (and (range pos) (range neg)
|
||||
(equal (range pos) (range neg)))
|
||||
(give-up)
|
||||
(setf (range neg)
|
||||
(comp-range-negation
|
||||
(comp-range-union
|
||||
(comp-range-negation (range neg))
|
||||
(range pos)))))
|
||||
(range pos))))))
|
||||
|
||||
(if (comp-cstr-empty-p neg)
|
||||
(setf (typeset dst) (typeset pos)
|
||||
|
|
|
|||
|
|
@ -199,7 +199,9 @@
|
|||
;; 80
|
||||
((and (or marker number) (integer 0 0)) . (integer 0 0))
|
||||
;; 81
|
||||
((and t (not t)) . nil))
|
||||
((and t (not t)) . nil)
|
||||
;; 82
|
||||
((or (integer 1 1) (not (integer 1 1))) . t))
|
||||
"Alist type specifier -> expected type specifier.")
|
||||
|
||||
(defmacro comp-cstr-synthesize-tests ()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue