Я ищу способ имитации ввода минибуфера. Итак, some-func берет некоторый вклад от минибуфера и что-то делает с ним. Проблема в том, что я должен позвонить some-func из какой-либо другой функции call-func, и мне нужно сделать это интерактивно, поэтому я не могу просто передать аргумент.Имитировать вход минибуфера в Emacs
(defun some-func (arg)
(interactive "*sEnter something: ")
;; Do something with arg
)
(defun calling-func()
(call-interactively 'some-func)
;; Type to minibuffer
)
Любые идеи?
Спасибо!
Думаю, я могу использовать что-то вроде этого. Я попробую это немного. Вы спрашиваете, почему мне нужно вызвать его интерактивно. Мне не нужно *. Но это лучше. Я пытаюсь провести тестирование. Поэтому я хочу имитировать пользователя. Я могу просто вызвать функцию, но это будет не так, как пользователь будет взаимодействовать с ней. – rejeep
Ну, макрос kbd - это, по сути, то, как пользователь взаимодействует с ним. Это просто поток нажатий клавиш, отправляемых в Emacs. –
Чем больше вы узнаете о Emacs, тем больше вы понимаете, насколько это блестяще. Иногда вы сомневаетесь, что что-то возможно, и всегда получается, что это так. – rejeep