我正在研究用于在 elisp 中执行独立单元测试的两个通用函数。一个是关于做某事并重置我的包的所有自定义变量,另一个是关于在临时缓冲区中做某事并重置我的包的所有自定义变量。
功能(一般):
(defun package-test-test (func)
""
(unwind-protect
(funcall func)
(reset-all-custom-package-variables)))
功能(临时缓冲区):
(defun package-test-test-in-buffer (func)
""
(package-test-test
(lambda ()
(with-temp-buffer (funcall func)))))
当我现在打电话时:(package-test-test-in-buffer (lambda () (insert "a")))
它超过了max-lisp-eval-depth
,为什么(没有递归)?