Tôi có một số mã sử dụng flet
để tạm thời thay đổi hành vi của các chức năng.
;; prevent changing the window
(flet ((pop-to-buffer (buffer &rest args)
(switch-to-buffer buffer)))
(compilation-next-error-function n reset))
Tuy nhiên, trình biên dịch byte của Emacs đưa ra cảnh báo:
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'.
Tuy nhiên, cl-flet
hoạt động khác nhau và không phù hợp với một số trường hợp sử dụng và tôi tin rằng đây là một trong những trường hợp đó.
Các tùy chọn tôi có thể thấy là:
Nói với Emacs bỏ qua cảnh báo bằng cách nào đó.
Cuộn của riêng tôi
flet
.
Đâu là cách tiếp cận lí tưởng nhất?
my-flet
) và loại bỏ cảnh báo lỗi thời, và sử dụng nó trong bất kỳ gói nào trước đây yêu cầu flet.