Quiero permitir al usuario elegir su propio comando en el "personalizar" backend emacs (y por lo general será capaz de almacenar un nombre de formato ejecutable en una variable), pero esto no funciona:En elisp, ¿cómo pongo una función en una variable?
(defun dumb-f()
(message "I'm a function"))
(defvar my-function "dumb-f")
(my-function)
==> Debugger entered--Lisp error: (invalid-function "dumb-f")
(setq my-function 'dumb-f)
(my-function)
==> Debugger entered--Lisp error: (invalid-function "dumb-f")
Probé Varias formas, pero todavía sin suerte, y estoy teniendo dificultades para buscarlo, obtengo kilopagos de resultados sobre funciones y variables, pero ninguno sobre cómo poner el primero en este último ...
Estás en racha. Grandes respuestas. –
Mi ejemplo fue gravemente elegida, lo siento: Quiero usar personalizar a, por ejemplo permitir al usuario elegir su programa de correo electrónico, así:. '(defcustom mi-mail-programa "ñu" comando "cliente de correo Ejemplo : wl " : escriba 'cadena : grupo' bug-mail ') No puedo ejecutar (my-mail-program) ..? – yPhil
Así que debería usar la función ': type 'en lugar de'' string', con un valor predeterminado de ''gnus' en lugar de' "gnus" ', y luego usaría' (funcall my-mail-program) ' . Asegúrese de comprender la diferencia entre una cadena y un símbolo. – phils