当我们对 fill-column 单独求值以查看其变量值时,并没有给它加上括号。这是因为我们并不打算将它作为函数名使用。
如果 fill-column 是某个列表的第一个(或唯一)元素,Lisp 解释器就会尝试查找它绑定的函数定义。但 fill-column 并没有函数定义。试着对下面表达式求值:
(fill-column)
你会打开一个 *Backtrace* 缓冲区,内容如下:
---------- Buffer: *Backtrace* ---------- Debugger entered--Lisp error: (void-function fill-column) (fill-column) eval((fill-column) nil) elisp--eval-last-sexp(nil) eval-last-sexp(nil) funcall-interactively(eval-last-sexp nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) ---------- Buffer: *Backtrace* ----------
(记住,要退出调试器并关闭调试窗口,请在 *Backtrace* 缓冲区中输入 q。)