cl-letf的问题

我想在某些时候调用delete-indentation时临时把fixup-whitespace换成delete-horizontal-space,使用时将(delete-indentation)替换为以下代码是正常工作的,但这貌似是一个异常函数?

(cl-letf* (((symbol-function 'fixup-whitespace)
	    #'delete-horizontal-space))
        (delete-indentation))

什么叫「异常函数」?

doom提示(symbol-function 'fixup-whitespace) #'delete-horizontal-space)是一个malformed func,我也不知是什么意思吧,但应该没什么问题

可能是你写的时候没有 (require 'cl-lib)

1 个赞

绝了真是,谢谢