diff --git a/lisp/bind-key.el b/lisp/bind-key.el index 860d488dba3..d33ee9b1222 100644 --- a/lisp/bind-key.el +++ b/lisp/bind-key.el @@ -314,31 +314,41 @@ function symbol (unquoted)." (while (and cont args) (if (cond ((and (eq :map (car args)) (not prefix-map)) - (setq map (cadr args))) + (setq map (cadr args)) + t) ((eq :prefix-docstring (car args)) - (setq prefix-doc (cadr args))) + (setq prefix-doc (cadr args)) + t) ((and (eq :prefix-map (car args)) (not (memq map '(global-map override-global-map)))) - (setq prefix-map (cadr args))) + (setq prefix-map (cadr args)) + t) ((eq :repeat-docstring (car args)) - (setq repeat-doc (cadr args))) + (setq repeat-doc (cadr args)) + t) ((and (eq :repeat-map (car args)) (not (memq map '(global-map override-global-map)))) (setq repeat-map (cadr args)) - (setq map repeat-map)) + (setq map repeat-map) + t) ((memq (car args) '(:continue :continue-only :exit)) (setq repeat-type (car args) - arg-change-func 'cdr)) + arg-change-func 'cdr) + t) ((eq :prefix (car args)) - (setq prefix (cadr args))) + (setq prefix (cadr args)) + t) ((eq :filter (car args)) - (setq filter (cadr args)) t) + (setq filter (cadr args)) + t) ((eq :menu-name (car args)) - (setq menu-name (cadr args))) + (setq menu-name (cadr args)) + t) ((eq :package (car args)) - (setq pkg (cadr args)))) + (setq pkg (cadr args)) + t)) (setq args (funcall arg-change-func args)) (setq cont nil))))