1
0
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:
Andrea Corallo 2020-12-22 20:39:24 +01:00
parent 538f59806c
commit 672988e961
2 changed files with 26 additions and 5 deletions

View File

@ -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)

View File

@ -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 ()