两个问题:
eval-buffer存储的结果在哪里?我该如何访问它?
例如:
(+ 2 2)
Run Code Online (Sandbox Code Playgroud)像是(forward-word)执行函数eval-buffer但不移动光标?这是为什么?
eval-buffer通常用于副作用,而不是返回值.例如,在.emacs文件中,eval-buffer将重新加载所有配置设置.默认情况下,当以交互方式使用时,它将始终返回nil.如果要在缓冲区中获取代码的返回值,这是错误的方法.eval-last-sexp,必然C-x C-e,是一种方法.使用前缀调用它C-u C-x C-e会将返回值插入当前缓冲区.
eval-buffer保留点的价值.所以函数forward-word会没有明显的效果.