関数の動作を一時的に変更するために使用するコードがいくつか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
動作が異なり、一部のユースケースに適さないため、これはそのようなケースの1つであると考えています。
私が見ることができるオプションは次のとおりです。
最善のアプローチは何ですか?
3
「しかし、cl-fletの動作は異なります」。その警告メッセージには2番目の提案があります。;-)
—
Malabarba
古いものを取り、名前を変更して(例
—
法律家14年
my-flet
:)、廃止された警告を削除し、以前にfletを必要としていたパッケージでそれを使用しました。