我有一些代码,使用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
工作方式不同,因此不适合某些用例,我认为这是其中一种。
我可以看到的选项是:
最好的方法是什么?
3
“但是,cl-flet的工作原理不同”。该警告消息中还有第二个建议。;-)
—
马拉巴巴2014年
我选择了旧的并重新命名(例如
—
法律列表
my-flet
),并删除了过时的警告,并将其用于以前需要flet的任何软件包中。