Comment utiliser des arguments «interactifs» lors de l'appel de la commande à partir du code


12

J'ai une commande appelée testqui prend simplement une entrée de l'utilisateur et la renvoie en écho:

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

Je veux écrire une autre fonction qui l'appellerait. Échoue:

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

avec cette erreur

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

Cela a du sens, car testprend une entrée. Faire test, c'est input &optionalsimplement test-forwardrevenir nilsans rien faire. Quelle est la bonne façon de procéder?

Réponses:


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.