diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 6e6c48399e1..7346dccdad1 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -3152,14 +3152,14 @@ for symbols generated by the byte compiler itself." last-jump-tag nil)) (byte-compile-out-tag op)) ((memq (car op) byte-goto-ops) - (setq last-depth byte-compile-depth) - (when last-switch (push (cdr op) switch-default-tags)) + (setq last-depth byte-compile-depth + last-jump-tag (cdr op)) (byte-compile-goto (car op) (cdr op)) (when last-switch + (push (cdr op) switch-default-tags) (setcdr (cdr (cdr op)) nil) (setq byte-compile-depth last-depth - last-switch nil)) - (setq last-jump-tag (cdr op))) + last-switch nil))) ((eq (car op) 'byte-return) (byte-compile-discard (- byte-compile-depth end-depth) t) (byte-compile-goto 'byte-goto endtag)) @@ -3172,7 +3172,7 @@ for symbols generated by the byte compiler itself." last-constant)) (setq last-constant (and (eq (car op) 'byte-constant) (cadr op))) (setq last-depth byte-compile-depth) - (byte-compile-out (car op)) (cdr op)))) + (byte-compile-out (car op) (cdr op))))) (byte-compile-out-tag endtag))) (defun byte-compile-unfold-bcf (form) |