1.7.1 符号无函数定义时的错误信息

当我们对 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。)