У мене є якийсь код, який використовується flet
для тимчасової зміни поведінки функцій.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Однак компілятор байтів Emacs попереджає:
In ag/next-error-function:
ag.el:103:7:Warning: `flet' is an obsolete macro (as of 24.3); use either
`cl-flet' or `cl-letf'.
Однак cl-flet
працює інакше і не підходить для деяких випадків використання, і я вважаю, що це один із таких випадків.
Можливі варіанти:
Скажіть Emacs якось ігнорувати попередження.
Покатайте мою власну
flet
.
Який найкращий підхід?
my-flet
) і видалив застаріле попередження, і використав це в будь-якому пакеті, який раніше вимагав флет.