From 1cbcd66ebe98f7fab83aa3b4239bcb073029e74e Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Thu, 30 Jul 2015 23:42:59 +0100 Subject: [PATCH] Support :bind (:map '(...)) We transform it into (:map foo (...) (...)) in the normalizer, and no longer warn about unknown sorts of arg. --- lisp/use-package/use-package.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 78abd9f776f..36360632813 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -629,11 +629,13 @@ manually updated package." ((use-package-is-sympair arg allow-vector) (list arg)) ((and (not recursed) (listp arg) (listp (cdr arg))) - (mapcar #'(lambda (x) (car (use-package-normalize-pairs - name-symbol label x t allow-vector))) arg)) - (t - (use-package-error - (concat label " wants a string, (string . symbol) or list of these"))))) + (mapcar #'(lambda (x) + (let ((ret (use-package-normalize-pairs + name-symbol label x t allow-vector))) + (if (listp ret) + (car ret) + ret))) arg)) + (t arg))) (defun use-package-normalize-binder (name-symbol keyword args) (use-package-as-one (symbol-name keyword) args @@ -645,7 +647,10 @@ manually updated package." (defun use-package-handler/:bind (name-symbol keyword arg rest state &optional override) - (let ((commands (mapcar #'cdr arg))) + (let ((commands (remq nil (mapcar #'(lambda (arg) + (if (listp arg) + (cdr arg) + nil)) arg)))) (use-package-concat (use-package-process-keywords name-symbol (use-package-sort-keywords -- 2.39.2