如何访问eval-buffer的结果?

Mik*_*arr 3 emacs

两个问题:

  1. eval-buffer存储的结果在哪里?我该如何访问它?
    例如:

    (+ 2 2)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 像是(forward-word)执行函数eval-buffer但不移动光标?这是为什么?

Tyl*_*ler 7

  1. eval-buffer通常用于副作用,而不是返回值.例如,在.emacs文件中,eval-buffer将重新加载所有配置设置.默认情况下,当以交互方式使用时,它将始终返回nil.如果要在缓冲区中获取代码的返回值,这是错误的方法.eval-last-sexp,必然C-x C-e,是一种方法.使用前缀调用它C-u C-x C-e会将返回值插入当前缓冲区.

  2. eval-buffer保留点的价值.所以函数forward-word会没有明显的效果.