Emacs eval-print-last-sexp详细程度

时间:2013-12-31 12:32:26

标签: emacs elisp

*scratch*时, C-j 调用eval-print-last-sexp。 但是,当我这样做时,我无法获得默认行为:

(local-set-key
 (kbd "C-j") 
 (lambda()(interactive) (eval-print-last-sexp)))

现在当评估结果是整数时,它的八进制和十六进制 表示也被打印出来:

(+ 2 2)
4 (#o4, #x4)

此行为的原因是什么?如何将其关闭?

1 个答案:

答案 0 :(得分:2)

附加输出来自函数eval-expression-print-format(见)。 在lisp-interaction-mode中,变量this-command设置为eval-expression-print-format。你只需要设置它类似:

(local-set-key
 (kbd "C-j") 
 (lambda()(interactive)
 (setq this-command 'eval-last-sexp)
 (eval-print-last-sexp)))