summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2004-04-12 03:11:10 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2004-04-12 03:11:10 +0000
commit7d0e09557ffdbad584b3783db4fba99a5b6444ac (patch)
tree8125de585efeff31e13e973ed15f7afb50144478 /lisp/emacs-lisp
parent6f480c7a389fc851d17375ecbc39782d3049731a (diff)
downloademacs-7d0e09557ffdbad584b3783db4fba99a5b6444ac.tar.gz
(byte-compile-cond): Fix last change.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el13
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)