diff lisp/emacs-lisp/cl-macs.el @ 51583:a44b585395b5

(cl-parse-loop-clause): Use map-keymap. (defsubst*): Don't put a `cl-whole argument if it's not used.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 16 Jun 2003 16:31:29 +0000
parents bb29b3dba5ac
children 06dc2c7d15f7
line wrap: on
line diff
--- a/lisp/emacs-lisp/cl-macs.el	Mon Jun 16 16:27:27 2003 +0000
+++ b/lisp/emacs-lisp/cl-macs.el	Mon Jun 16 16:31:29 2003 +0000
@@ -912,7 +912,7 @@
 		      (setq var (prog1 other (setq other var))))
 		  (setq loop-map-form
 			(list (if (memq word '(key-seq key-seqs))
-				  'cl-map-keymap-recursively 'cl-map-keymap)
+				  'cl-map-keymap-recursively 'map-keymap)
 			      (list 'function (list* 'lambda (list var other)
 						     '--cl-map)) map))))
 
@@ -2497,7 +2497,9 @@
     (list 'progn
 	  (if p nil   ; give up if defaults refer to earlier args
 	    (list 'define-compiler-macro name
-		  (list* '&whole 'cl-whole '&cl-quote args)
+		  (if (memq '&key args)
+		      (list* '&whole 'cl-whole '&cl-quote args)
+		    (cons '&cl-quote args))
 		  (list* 'cl-defsubst-expand (list 'quote argns)
 			 (list 'quote (list* 'block name body))
 			 (not (or unsafe (cl-expr-access-order pbody argns)))