values is a variable defined in `lread.c'. Its value is nil Documentation: List of values of all expressions which were read, evaluated and printed. Order is reverse chronological.
上面是values变量的帮助文档,但是我实际检查这个变量值好像一直都是nil,无论曾经eval过什么。请大家帮忙看看是不是这么回事。我用的是24.5.1,谢谢!
据观察,带PRINTFLAG的,比如eval-buffer、eval-region,加上PRINTFLAG后,才会modify values。 另外就是eval-expression,也会push返回值到values里。 更深入的就不知道了…
参阅Manual
https://www.gnu.org/software/emacs/manual/html_node/elisp/Eval.html#Eval
注意通过ielm,eval-last-sexp进行eval的结果是不会记录的
;; Run following code using `M-x eval-expression' (+ 1 2) ;; => 3 values ;; => (3 nil)
哦,明白了,感谢大家的解答。