跟踪 Emacs 中函数的工作原理

跟踪 Emacs 中函数的工作原理

我正在学习 emacs lisp。我正在玩的事情之一是设置变量。所以我将 fill-column 设置为 50 (setq fill-column 60)。在评估 fill-column 后,确实给了我 60,但函数 fill-paragraph 忽略了这一点。我该如何弄清楚为什么会发生这种情况?

谢谢。

最好的,巴特

答案1

要检测 Elisp 函数以进行调试,请加载其源代码,将 point 放入函数内,然后键入M-x edebug-defun。然后,当函数执行时,调试器将自动激活。

在您的特定情况下,fill-column设置后将成为缓冲区本地(请参阅使变量缓冲区本地化)。您可能将其设置在错误的缓冲区中。

答案2

或者,您可以使用进入时调试^Hfdebug-on-entry

debug-on-entry is an interactive autoloaded Lisp function.

(debug-on-entry FUNCTION)

Request FUNCTION to invoke debugger each time it is called.

相关内容