在*scratch*
时, C-j 调用eval-print-last-sexp
。
但是,当我这样做时,我无法获得默认行为:
(local-set-key
(kbd "C-j")
(lambda()(interactive) (eval-print-last-sexp)))
现在当评估结果是整数时,它的八进制和十六进制 表示也被打印出来:
(+ 2 2)
4 (#o4, #x4)
此行为的原因是什么?如何将其关闭?
答案 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)))