Chcę, aby umożliwić użytkownikowi wybrać własne polecenie w „Dostosuj” emacs backend (i ogólnie w stanie przechowywać wykonywalnego nazwę formularza w zmiennej), ale to nie działa:W elisp, jak umieścić funkcję w zmiennej?
(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")
Próbowałam różne formy, ale wciąż nie ma szczęścia i trudno mi go szukać, dostaję kilogramy wyników o funkcjach i zmiennych, ale nie ma o tym, jak umieścić te pierwsze w drugim ...?
Jesteś na fali. Świetne odpowiedzi. –
Mój przykład był źle wybrane, przepraszam: Chcę użyć dostosować do, powiedzmy pozwolić użytkownikowi wybrać swój program pocztowy, tak:. '(defcustom mój mailowy programu„gnu”polecenia „klient poczty Przykład : wl " : wpisz 'ciąg : grupa' mail-bugger)' Nie mogę wykonać programu (my-mail-program) ..? – yPhil
Powinieneś więc użyć funkcji ': type 'zamiast' 'string', z domyślną wartością'' gnus' zamiast '' gnus "', a następnie użyj '(funcall my-mail-program)' . Upewnij się, że rozumiesz różnicę między ciągiem a symbolem. – phils