【发布时间】:2018-01-13 19:44:30
【问题描述】:
总的来说,我是 ELISP 和 LISP 的新手。下面是一些示例代码:
(setq number 2)
(* 8 number)
在 lisp 交互模式下,我可以在行尾使用组合键 control+j,它应该内联评估它。如果我尝试在代码的第二行 (* 2 number) 执行此操作,我会收到一条错误消息:
Debugger entered--Lisp error: (void-variable number)
(* 8 number)
我的假设是 number 没有注册为具有值。如果我在第一行代码(setq number 2) 上执行 control+j,那么我可以在第二行使用 control+j 就好了。
我的问题是,我的假设是因为第一个值没有被评估,第二个值不可能是正确的?而且,在交互模式下,有没有比逐行注册这些值更好的方法?我假设当这个应用程序正常运行时,除了在 Emacs 中之外,这不是问题,只是在 Emacs 中动态评估代码时的问题。
【问题讨论】: