]> git.eshelyaron.com Git - emacs.git/commit
Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017)
authorMattias Engdegård <mattiase@acm.org>
Fri, 4 Aug 2023 09:08:57 +0000 (11:08 +0200)
committerMattias Engdegård <mattiase@acm.org>
Fri, 4 Aug 2023 09:08:57 +0000 (11:08 +0200)
commit44d7fd3805f5b1e0b571ece007abc466e1b39ba5
tree2a91d6bf9aa655b893aae0a46ad29accebf4f7b3
parentc75c7997197502189023c9f47140474fa7fd719e
Don't allow the `eq` and `unbind` byte-ops to commute (bug#65017)

* lisp/emacs-lisp/byte-opt.el (byte-after-unwind-ops):
Cease sinking `eq` past `unwind`, because that optimised away the
let-binding in

  (let ((symbols-with-pos-enabled nil))
    (eq x y))

and `eq` is currently sensitive to `symbols-with-pos-enabled`.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--eq-symbols-with-pos-enabled): New test.
lisp/emacs-lisp/byte-opt.el
test/lisp/emacs-lisp/bytecomp-tests.el