From 09dae035eb8ee4de88a5270a58bfc8ca16f8c60a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 4 May 2003 00:44:25 +0000 Subject: [PATCH] (cl-map-keymap): Redefine as alias. (cl-map-keymap-recursively): Use map-keymap. (cl-macroexpand-all): Don't quote functions. --- lisp/emacs-lisp/cl-extra.el | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index aa6b4f9ae48..f8fcd020703 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -203,26 +203,12 @@ If so, return the true (non-nil) value returned by PREDICATE." (not (apply 'every cl-pred cl-seq cl-rest))) ;;; Support for `loop'. -(defun cl-map-keymap (cl-func cl-map) - (while (symbolp cl-map) (setq cl-map (symbol-function cl-map))) - (if (listp cl-map) - (let ((cl-p cl-map)) - (while (consp (setq cl-p (cdr cl-p))) - (cond ((consp (car cl-p)) - (funcall cl-func (car (car cl-p)) (cdr (car cl-p)))) - ((or (vectorp (car cl-p)) (char-table-p (car cl-p))) - (cl-map-keymap cl-func (car cl-p))) - ((eq (car cl-p) 'keymap) - (setq cl-p nil))))) - (let ((cl-i -1)) - (while (< (setq cl-i (1+ cl-i)) (length cl-map)) - (if (aref cl-map cl-i) - (funcall cl-func cl-i (aref cl-map cl-i))))))) +(defalias 'cl-map-keymap 'map-keymap) (defun cl-map-keymap-recursively (cl-func-rec cl-map &optional cl-base) (or cl-base (setq cl-base (copy-sequence [0]))) - (cl-map-keymap + (map-keymap (function (lambda (cl-key cl-bind) (aset cl-base (1- (length cl-base)) cl-key) @@ -721,11 +707,10 @@ This also does some trivial optimizations to make the form prettier." (sublis sub (nreverse decls)) (list (list* 'list '(quote apply) - (list 'list '(quote quote) - (list 'function - (list* 'lambda - (append new (cadadr form)) - (sublis sub body)))) + (list 'function + (list* 'lambda + (append new (cadadr form)) + (sublis sub body))) (nconc (mapcar (function (lambda (x) (list 'list '(quote quote) x))) -- 2.39.2