• Tom Tromey's avatar
    Add new bytecodes for unwind-protect · 916094a8
    Tom Tromey authored
    * lisp/emacs-lisp/byte-opt.el (disassemble-offset): Handle
    byte-pushunwindprotect.
    * lisp/emacs-lisp/bytecomp.el (byte-pushunwindprotect)
    (byte-endunwindprotect): New bytecodes.
    (byte-goto-ops): Add byte-pushunwindprotect.
    (byte-compile-unwind-protect): Emit new bytecodes.
    (byte-compile-goto): Handle byte-pushunwindprotect.
    * lisp/emacs-lisp/cconv.el (cconv-convert): Don't special-case
    unwind-protect when byte-compile--use-old-handlers.
    (cconv-analyze-form): Likewise.
    * src/bytecode.c (Bpushunwindprotect, Bendunwindprotect): New bytecodes.
    (exec_byte_code): Implement new bytecodes.
    * test/src/bytecode-tests.el: New file.
    916094a8
byte-opt.el 83.9 KB