我想C-u在一个函数(例如,正则表达式)中使用它来调用它C-u有不同的效果。我怎样才能在 Emacs 中做到这一点?该文档没有显示如何使用 Emacs Lisp 执行此操作。
(defun test ()
(interactive)
(align-regexp)) ; I would like to add the C-u prefix to this.
(defun my/test ()
(interactive)
(let ((current-prefix-arg 4)) ;; emulate C-u
(call-interactively 'align-regexp) ;; invoke align-regexp interactively
)
)
希望有帮助。
我来到这里是为了寻找一种方法来检测我的函数是否被 Cu 调用。这就是你的做法:
(defun my-function ()
(interactive)
(if (equal current-prefix-arg nil) ; no C-u
;; then
(message "my-function was called normally")
;; else
(message "my-function was called with C-u")))
原发帖人要问的是如何从他/她的 function 内部调用Cu的另一个函数。我将其发布为对上述@codyChan 评论的澄清,希望它可能对其他人有所帮助。