Lisp: найдите setf способ сделать эквивалент fset
Найдите setf способ сделать эквивалент fset в lisp.
1 ответ
Решение
(symbol-function 'foo)
является обобщенной переменной в elisp, поэтому вы можете использовать:
(setf (symbol-function 'forward-word) #'backward-word)
в качестве альтернативы:
(fset 'forward-word #'backward-word)
(Как примечание, вы можете сделать то же самое с cl-letf
в качестве замены устаревшей flet
когда вы хотите переопределить функцию, используя динамическую область видимости.)