Mam trochę kodu , flet
który tymczasowo zmienia zachowanie funkcji.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Jednak kompilator bajtów Emacsa ostrzega:
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'.
Jednak cl-flet
działa inaczej i nie odpowiadał kilka przypadków użycia, i wierzę, że jest to jeden z tych przypadków.
Dostępne opcje to:
Powiedz Emacsowi, aby w jakiś sposób zignorował ostrzeżenie.
Rzuć moim własnym
flet
.
Jakie jest najlepsze podejście?
my-flet
) I usunąłem przestarzałe ostrzeżenie, i używam go w każdym pakiecie, który wcześniej wymagał fletu.