Если я иду в конец моего файла .emacs и выполняю (point) с помощью M-: я получаю следующее сообщение:

37018 (#o110232, #x909a, ?邚)

Почему в emacs возникает необходимость сообщить мне, какой символ Unicode соответствует текущей позиции в буфере?

Для меня проблема в том, что в OS X 10.9.3, emacs 24.3.92.1, point иногда очень заметно медленная, когда я вызываю ее в интерактивном режиме, и я думаю, что это может быть потому, что для поиска символа требуется некоторое время, # x909a в этот случай. Я не уверен, как отладить это.

1 ответ1

2

Это особенность :) В Emacs Lisp нет отдельного типа для символов (хотя XEmacs имеет), поэтому символы представляются как целые числа. (point) возвращает целое число, поэтому eval-expression не может точно сказать, имели ли вы в виду число или символ.

Форматирование вывода выполняется в eval-expression-print-format в simple.el . К сожалению, похоже, что нет какой-либо опции конфигурации, которую можно было бы использовать, чтобы отключить эту функцию.

Лучший обходной путь, который я могу придумать, - это оценить (format "%s" (point)) вместо просто (point) или использовать вместо него Cx = .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .