diff options
| author | Mattias EngdegÄrd | 2023-03-02 09:56:59 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2023-03-02 15:47:26 +0100 |
| commit | 828c49ae29fd318547d7bbe4e7fdc65da316e309 (patch) | |
| tree | 3859f77e26d13d7d760ec79b0ce1ab96ca3d77f6 /java | |
| parent | a1d90e48bb0076e68592d6a6880c28b52e61d219 (diff) | |
| download | emacs-828c49ae29fd318547d7bbe4e7fdc65da316e309.tar.gz emacs-828c49ae29fd318547d7bbe4e7fdc65da316e309.zip | |
Fix `cond` miscompilation bug
This fixes a bug that miscompiled
(cond ... C S1...Sn)
where S1...Sn are switch clauses (that can be compiled into a switch
op) and C a non-switch clause, by tucking on an extra copy of C at the
end. This was a serious wrong-code bug when the condition of C had
side-effects; otherwise it was only a waste of time and space.
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond): Fix.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
Diffstat (limited to 'java')
0 files changed, 0 insertions, 0 deletions