Jak używać argumentów „interaktywnych” podczas wywoływania polecenia z kodu


12

Mam wywołane polecenie, testktóre po prostu pobiera dane wejściowe od użytkownika i powtarza je z powrotem:

(defun test (input)
  (interactive "MInput: ")
  (message "%s" input))

Chcę napisać inną funkcję, która by to wywołała. Następujące niepowodzenie:

(defun test-forward ()
  (interactive)
  (test))

z tym błędem

test-forward: Wrong number of arguments: (lambda (input) (interactive "MInput: ") (message "%s" input)), 0

Ma to sens, ponieważ testwymaga jednego wejścia. Making test's input &optionalpo prostu test-forwardwraca nilbez robienia czegokolwiek. Jak to zrobić w odpowiedni sposób?

Odpowiedzi:


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.