emacs 中 point 返回值的意外显示

emacs 中 point 返回值的意外显示

如果我转到文件末尾.emacs并执行(point)M-:我会收到以下消息:

37018 (#o110232, #x909a, ?邚)

为什么 emacs 觉得有必要告诉我缓冲区中当前位置对应的 unicode 字符是什么?

对我来说,问题是在 OS X 10.9.3 上,emacs point24.3.92.1有时当我以交互方式调用它时,速度明显变慢,我想这可能是因为查找字符需要一些时间,在本例中是 #x909a。我不确定如何调试它。

答案1

这是一个功能:) Emacs Lisp 没有单独的字符类型(尽管 XEmacs 有),所以字符表示为整数。 (point)返回一个整数,所以eval-expression无法确定你是将其表示为数字还是字符。

输出的格式化是在eval-expression-print-format中完成的simple.el。不幸的是,似乎没有任何配置选项可用于关闭此功能。

我能想到的最佳解决方法是评估(format "%s" (point))而不是仅仅评估(point),或者使用C-x =

相关内容