Saya memiliki beberapa kode yang digunakan fletuntuk sementara mengubah perilaku fungsi.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Namun, kompiler byte Emacs memberikan peringatan:
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'.
Namun, cl-fletberfungsi secara berbeda dan tidak sesuai dengan beberapa kasus penggunaan, dan saya percaya ini adalah salah satu kasus tersebut.
Opsi yang bisa saya lihat adalah:
Katakan pada Emacs untuk mengabaikan peringatan itu.
Gulung sendiri
flet.
Apa pendekatan terbaik?
my-flet) dan menghapus peringatan usang, dan menggunakannya dalam paket apa pun yang sebelumnya diperlukan flet.