Ich habe einen Code , der verwendet wird flet
, um das Verhalten von Funktionen vorübergehend zu ändern.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Der Byte-Compiler von Emacs gibt jedoch eine Warnung aus:
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'.
Funktioniert jedoch cl-flet
anders und eignet sich nicht für einige Anwendungsfälle. Ich glaube, dies ist einer dieser Fälle.
Die Optionen, die ich sehen kann, sind:
Sagen Sie Emacs, er soll die Warnung irgendwie ignorieren.
Roll mein eigenes
flet
.
Was ist der beste Ansatz?
my-flet
) und die veraltete Warnung entfernt und in jedem Paket verwendet, für das zuvor eine Flotte erforderlich war.