commands – Cómo usar argumentos 'interactivos' al llamar al comando desde el código

Pregunta:

Tengo un comando llamado test que simplemente toma una entrada del usuario y la repite:

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

Quiero escribir otra función que lo llame. Lo siguiente falla:

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

con este error

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

Esto tiene sentido, ya que la test requiere una entrada. Haciendo test 's input &optional simplemente hace test-forward de retorno nil y sin hacer nada. ¿Cuál es la forma correcta de hacer esto?

Respuesta:

Simplemente:

(call-interactively 'test)

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım