emacs でポイントの戻り値が予期せず表示される

emacs でポイントの戻り値が予期せず表示される

ファイルの最後まで移動して.emacsを実行する(point)M-:、次のメッセージが表示されます。

37018 (#o110232, #x909a, ?邚)

なぜ emacs はバッファ内の現在の位置に対応する Unicode 文字を知らせる必要があるのでしょうか?

私にとっての問題は、OS X 10.9.3、emacs 24.3.92.1ではpoint時々対話的に呼び出すと、明らかに遅くなります。これは、文字 (この場合は #x909a) の検索に時間がかかるためだと思います。これをデバッグする方法がわかりません。

答え1

これは機能です :) Emacs Lisp には文字用の別個の型がありません (XEmacs にはあります)。そのため、文字は整数として表されます。は (point)整数を返すため、eval-expression数値として意図したのか、文字として意図したのかを確実に判断することはできません。

出力のフォーマットは で行われますeval-expression-print-formatsimple.el残念ながら、この機能をオフにするために使用できる構成オプションはないようです。

私が考えられる最善の回避策は、(format "%s" (point))ではなく を評価する(point)か、C-x =代わりに を使用することです。

関連情報