如果我转到文件末尾.emacs
并执行(point)
,M-:
我会收到以下消息:
37018 (#o110232, #x909a, ?邚)
为什么 emacs 觉得有必要告诉我缓冲区中当前位置对应的 unicode 字符是什么?
对我来说,问题是在 OS X 10.9.3 上,emacs point
24.3.92.1有时当我以交互方式调用它时,速度明显变慢,我想这可能是因为查找字符需要一些时间,在本例中是 #x909a。我不确定如何调试它。
答案1
这是一个功能:) Emacs Lisp 没有单独的字符类型(尽管 XEmacs 有),所以字符表示为整数。 (point)
返回一个整数,所以eval-expression
无法确定你是将其表示为数字还是字符。
输出的格式化是在eval-expression-print-format
中完成的simple.el
。不幸的是,似乎没有任何配置选项可用于关闭此功能。
我能想到的最佳解决方法是评估(format "%s" (point))
而不是仅仅评估(point)
,或者使用C-x =。