changeset 4049:7908fc6e4fb9

(byte-compile-setq-default): Generate a progn of calls to set-default, then compile it. (byte-compile-file-form-defmumble): Put back second arg of byte-compile-keep-pending, accidentally deleted before.
author Richard M. Stallman <rms@gnu.org>
date Fri, 09 Jul 1993 06:33:05 +0000
parents 26b434331fce
children 0439eaf6f94a
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Fri Jul 09 04:04:39 1993 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Fri Jul 09 06:33:05 1993 +0000
@@ -1589,7 +1589,8 @@
 			  (list 'cons ''macro code))
 			 ((list 'quote (if macrop
 					   (cons 'macro new-one)
-					 new-one))))))
+					 new-one)))))
+	     'byte-compile-two-args)
 	  ;; Output the form by hand, that's much simpler than having
 	  ;; b-c-output-file-form analyze the defalias.
 	  (byte-compile-flush-pending)
@@ -2420,15 +2421,14 @@
     (setq for-effect nil)))
 
 (defun byte-compile-setq-default (form)
-  (let ((args (cdr form)))
-    (if args
-	(while args
-	  (byte-compile-form
-	   (list 'set-default (list 'quote (car args)) (car (cdr args))))
-	  (setq args (cdr (cdr args))))
-      ;; (setq-default), with no arguments.
-      (byte-compile-form nil for-effect))
-    (setq for-effect nil)))
+  (let ((args (cdr form))
+	setters)
+    (while args
+      (setq setters
+	    (cons (list 'set-default (list 'quote (car args)) (car (cdr args)))
+		  setters))
+      (setq args (cdr (cdr args))))
+    (byte-compile-form (cons 'progn (nreverse setters)))))
 
 (defun byte-compile-quote (form)
   (byte-compile-constant (car (cdr form))))