Eu tenho algum código que usa flet
para alterar temporariamente o comportamento das funções.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
No entanto, o compilador de bytes do Emacs emite um aviso:
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'.
No entanto, cl-flet
funciona de maneira diferente e não se adequa a alguns casos de uso, e acredito que esse seja um desses casos.
As opções que eu posso ver são:
Qual é a melhor abordagem?
my-flet
) e removi o aviso obsoleto e o usei em qualquer pacote que exigisse flet anteriormente.