]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't hide `not` and `null` arity errors
authorMattias EngdegÄrd <mattiase@acm.org>
Mon, 17 Jun 2024 11:14:08 +0000 (13:14 +0200)
committerEshel Yaron <me@eshelyaron.com>
Wed, 19 Jun 2024 08:41:09 +0000 (10:41 +0200)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-not):
Don't silently convert incorrect `not` and `null` applications to nil.

(cherry picked from commit 923aad81d473fd99adb651302dcccd79c6afbeff)

lisp/emacs-lisp/byte-opt.el

index c060c8d676bc9a4a51bd254dd20c206e4826402e..d8dbfa62bf96b4caf9cddef164475a3e421ee388 100644 (file)
@@ -1410,13 +1410,14 @@ See Info node `(elisp) Integer Basics'."
       form)))
 
 (defun byte-optimize-not (form)
-  (and (= (length form) 2)
-       (let ((arg (nth 1 form)))
-         (cond ((null arg) t)
-               ((macroexp-const-p arg) nil)
-               ((byte-compile-nilconstp arg) `(progn ,arg t))
-               ((byte-compile-trueconstp arg) `(progn ,arg nil))
-               (t form)))))
+  (if (= (length form) 2)
+      (let ((arg (nth 1 form)))
+        (cond ((null arg) t)
+              ((macroexp-const-p arg) nil)
+              ((byte-compile-nilconstp arg) `(progn ,arg t))
+              ((byte-compile-trueconstp arg) `(progn ,arg nil))
+              (t form)))
+    form))
 
 (put 'and   'byte-optimizer #'byte-optimize-and)
 (put 'or    'byte-optimizer #'byte-optimize-or)