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 когда вы хотите переопределить функцию, используя динамическую область видимости.)

Другие вопросы по тегам