Ответ 1
(defun my/test ()
(interactive)
(let ((current-prefix-arg 4)) ;; emulate C-u
(call-interactively 'align-regexp) ;; invoke align-regexp interactively
)
)
Надеюсь, что это поможет.
Я хотел бы использовать C-u в функции (например, regexp), где вызов ее с помощью 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")))
Оригинальный плакат спрашивал, как вызвать другую функцию с помощью Cu изнутри его функции. Я публикую это в качестве пояснения к комментарию @codyChan выше, в надежде, что это может помочь другим.