Unerwartete Anzeige des Rückgabewerts eines Punktes in Emacs

Unerwartete Anzeige des Rückgabewerts eines Punktes in Emacs

Wenn ich zum Ende meiner .emacsDatei 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-expressionkann 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.elLeider 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.

verwandte Informationen