Я хочу вызвать функцию из некоторого кода elisp, как если бы я вызвал ее в интерактивном режиме с аргументом префикса. В частности, я хочу вызвать grep с префиксом.
Ближе всего к тому, чтобы заставить его работать, было использование execute-extended-command
, но для этого все еще требуется, чтобы я набирал команду, которую хочу для вызова с префиксом ...
;; calls command with a prefix, but I have to type the command to be called...
(global-set-key (kbd "C-c m g")
(lambda () (interactive)
(execute-extended-command t)))
В документации сказано, что execute-extended-command
использует command-execute
для выполнения команды, прочитанной из минибуфера, но я не смог заставить это работать:
;; doesn't call with prefix...
(global-set-key (kbd "C-c m g")
(lambda () (interactive)
(command-execute 'grep t [t] t)))
Есть ли способ вызвать функцию с префиксом, но не интерактивно ?