如何为一个keymap 加 universal-argument?

假设有这么个keymap

(define-prefix-command 'test-map)
(global-set-key (kbd "M-s") 'test-map)

如何定义 C-u M-s 的行为呢?

这个是通过调用 interactive 实现的,而不是简单的按键绑定可以实现的。

这是我写的一个范例。

elisp info => Command Loop => Defining Command and Interactive Calls nodes

谢谢2位的帮助。这是解决方法,理论上可以

(global-set-key (kbd "M-s") #'(lambda nil (interactive) (if current-prefix-arg (message "123") call-test-keymap)))
;; 然后从call-test-keymap 是一个内部调用 test-map 的函数
;; http://stackoverflow.com/questions/24914202/elisp-call-keymap-from-code

但是我觉得这样有点丑。最后这样更方便一点

(define-key universal-argument-map (kbd "M-s") #'(lambda nil (interactive) (message "1234")))