summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/bytecomp.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-07-09 06:33:05 +0000
committerRichard M. Stallman <rms@gnu.org>1993-07-09 06:33:05 +0000
commitca38179a7428456b4f41c3c21ff682c71c0b29a0 (patch)
tree77f28c7f77a1e2c8adfd431c48c13d27dcf4a4a5 /lisp/emacs-lisp/bytecomp.el
parent07a9765faacac296d46d89f264a6cca21fbe5fb5 (diff)
downloademacs-ca38179a7428456b4f41c3c21ff682c71c0b29a0.tar.gz
emacs-ca38179a7428456b4f41c3c21ff682c71c0b29a0.tar.bz2
emacs-ca38179a7428456b4f41c3c21ff682c71c0b29a0.zip
(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.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r--lisp/emacs-lisp/bytecomp.el20
1 files changed, 10 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 6bbe1eba7e7..7364f8803df 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1589,7 +1589,8 @@ With argument, insert value in current buffer after the form."
(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 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(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))))