diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-12 03:11:10 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-12 03:11:10 +0000 |
commit | 7d0e09557ffdbad584b3783db4fba99a5b6444ac (patch) | |
tree | 8125de585efeff31e13e973ed15f7afb50144478 /lisp/emacs-lisp | |
parent | 6f480c7a389fc851d17375ecbc39782d3049731a (diff) | |
download | emacs-7d0e09557ffdbad584b3783db4fba99a5b6444ac.tar.gz |
(byte-compile-cond): Fix last change.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 220a7d8d92d..32d6694b060 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -3377,12 +3377,13 @@ being undefined will be suppressed." (byte-compile-goto 'byte-goto donetag) (byte-compile-out-tag nexttag))))) ;; Last clause - (and (cdr clause) (not (eq (car clause) t)) - (progn (byte-compile-maybe-guarded (car clause) - (byte-compile-form (car clause))) - (byte-compile-goto-if nil for-effect donetag) - (setq clause (cdr clause)))) - (byte-compile-body-do-effect clause) + (let ((guard (car clause))) + (and (cdr clause) (not (eq guard t)) + (progn (byte-compile-form guard) + (byte-compile-goto-if nil for-effect donetag) + (setq clause (cdr clause)))) + (byte-compile-maybe-guarded guard + (byte-compile-body-do-effect clause))) (byte-compile-out-tag donetag))) (defun byte-compile-and (form) |