]> git.eshelyaron.com Git - emacs.git/commit
Elide broken but unnecessary `if` optimisations
authorMattias Engdegård <mattiase@acm.org>
Fri, 16 Dec 2022 14:56:04 +0000 (15:56 +0100)
committerMattias Engdegård <mattiase@acm.org>
Mon, 19 Dec 2022 12:19:09 +0000 (13:19 +0100)
commit33af5371988e6329aa7e76ef4ae7fabb9ed72cf5
treea30fe0479b1f1a6b03ce7a46a8c538776db78c80
parent91d6b734216ed95f99f1f82ec6c1afd54af1c4dd
Elide broken but unnecessary `if` optimisations

* lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
Remove explicit clauses purposing to simplify

    (if X nil t) -> (not X)
    (if X t nil) -> (not (not X))

but never did so because of a coding mistake (eq instead of equal),
found by a recently added warning.  They weren't actually needed
thanks to the optimiser's fixpoint iteration: we eventually get the
same results through

    (if X nil t) -> (if (not X) t nil) -> (if (not X) t) -> (not X)
    (if X t nil) -> (if X t) -> (not (not X))
lisp/emacs-lisp/byte-opt.el