mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-20 18:17:20 +00:00
Symplify (not t) => nil and (not nil) => t
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not t) => nil and (not nil) => t. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add two tests.
This commit is contained in:
parent
538f59806c
commit
672988e961
@ -695,10 +695,27 @@ DST is returned."
|
||||
"Negate SRC setting the result in DST.
|
||||
DST is returned."
|
||||
(with-comp-cstr-accessors
|
||||
(setf (typeset dst) (typeset src)
|
||||
(valset dst) (valset src)
|
||||
(range dst) (range src)
|
||||
(neg dst) (not (neg src)))
|
||||
(cond
|
||||
((and (null (valset src))
|
||||
(null (range src))
|
||||
(null (neg src))
|
||||
(equal (typeset src) '(t)))
|
||||
(setf (typeset dst) ()
|
||||
(valset dst) ()
|
||||
(range dst) nil
|
||||
(neg dst) nil))
|
||||
((and (null (valset src))
|
||||
(null (range src))
|
||||
(null (neg src))
|
||||
(null (typeset src)))
|
||||
(setf (typeset dst) '(t)
|
||||
(valset dst) ()
|
||||
(range dst) nil
|
||||
(neg dst) nil))
|
||||
(t (setf (typeset dst) (typeset src)
|
||||
(valset dst) (valset src)
|
||||
(range dst) (range src)
|
||||
(neg dst) (not (neg src)))))
|
||||
dst))
|
||||
|
||||
(defun comp-cstr-value-negation (dst src)
|
||||
|
@ -203,7 +203,11 @@
|
||||
;; 81
|
||||
((and t (not t)) . nil)
|
||||
;; 82
|
||||
((or (integer 1 1) (not (integer 1 1))) . t))
|
||||
((or (integer 1 1) (not (integer 1 1))) . t)
|
||||
;; 83
|
||||
((not t) . nil)
|
||||
;; 84
|
||||
((not nil) . t))
|
||||
"Alist type specifier -> expected type specifier."))
|
||||
|
||||
(defmacro comp-cstr-synthesize-tests ()
|
||||
|
Loading…
Reference in New Issue
Block a user