Exibição inesperada do valor de retorno do ponto no emacs

Exibição inesperada do valor de retorno do ponto no emacs

Se eu for até o final do meu .emacsarquivo e executar (point)com M-:, recebo a seguinte mensagem:

37018 (#o110232, #x909a, ?邚)

Por que o emacs sente a necessidade de me dizer qual caractere Unicode corresponde à posição atual no buffer?

O problema para mim é que no OS X 10.9.3, emacs 24.3.92.1, pointéàs vezesmuito visivelmente lento quando o invoco interativamente, e acho que pode ser porque leva algum tempo para procurar o caractere, #x909a neste caso. Não tenho certeza de como depurar isso.

Responder1

Este é um recurso :) O Emacs Lisp não possui um tipo separado para caracteres (embora o XEmacs tenha), então os caracteres são representados como números inteiros. (point)retorna um número inteiro, portanto eval-expressionnão é possível dizer com certeza se você o quis dizer como um número ou como um caractere.

A formatação da saída é feita em eval-expression-print-formatformato simple.el. Infelizmente, não parece haver nenhuma opção de configuração que possa ser usada para desativar esse recurso.

A melhor solução que consigo pensar é avaliar (format "%s" (point))em vez de apenas (point)ou usar C-x =.

informação relacionada