Tengo un código que usa flet
para cambiar temporalmente el comportamiento de las funciones.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Sin embargo, el compilador de bytes de Emacs da una advertencia:
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'.
Sin embargo, cl-flet
funciona de manera diferente y no se adapta a algunos casos de uso, y creo que este es uno de esos casos.
Las opciones que puedo ver son:
¿Cuál es el mejor enfoque?
my-flet
) y eliminé la advertencia obsoleta, y la utilicé en cualquier paquete que previamente requería flet.