changeset 54790:12b895a7fee2

(byte-compile-cond): Fix last change.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 12 Apr 2004 03:11:10 +0000
parents 9d1d7f062a4f
children 04bb18c57fc6
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Mon Apr 12 01:58:43 2004 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Mon Apr 12 03:11:10 2004 +0000
@@ -3377,12 +3377,13 @@
 		 (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)