Wenn ich zum Ende meiner .emacs
Datei gehe und (point)
mit ausführe M-:
, erhalte ich die folgende Meldung:
37018 (#o110232, #x909a, ?邚)
Warum hat Emacs das Bedürfnis, mir mitzuteilen, welches Unicode-Zeichen der aktuellen Position im Puffer entspricht?
Das Problem für mich ist, dass unter OS X 10.9.3, Emacs 24.3.92.1 point
,Manchmalsehr merklich langsam, wenn ich es interaktiv aufrufe, und ich denke, das liegt vielleicht daran, dass es einige Zeit dauert, das Zeichen nachzuschlagen, in diesem Fall #x909a. Ich bin nicht sicher, wie ich das debuggen kann.
Antwort1
Dies ist eine Funktion :) Emacs Lisp hat keinen separaten Typ für Zeichen (XEmacs jedoch schon), daher werden Zeichen als Ganzzahlen dargestellt. (point)
Gibt eine Ganzzahl zurück, daher eval-expression
kann nicht mit Sicherheit gesagt werden, ob Sie es als Zahl oder als Zeichen gemeint haben.
Die Formatierung der Ausgabe erfolgt in eval-expression-print-format
. simple.el
Leider scheint es keine Konfigurationsoption zu geben, mit der diese Funktion deaktiviert werden könnte.
Die beste Problemumgehung, die mir einfällt, besteht darin, (format "%s" (point))
statt nur auszuwerten (point)
oder C-x =stattdessen zu verwenden.