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

0

Se eu for até o final do meu arquivo .emacs 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?

A questão para mim é que no OS X 10.9.3, emacs 24.3.92.1, point é às vezes muito visivelmente lento quando invoco interativamente, e acho que pode ser porque leva algum tempo para procurar o personagem, # x909a neste caso. Não sei como depurar isso.

    
por Kirill 03.07.2014 / 07:07

1 resposta

2

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 inteiros. (point) retorna um inteiro, então eval-expression não pode dizer com certeza se você quis dizer isso como um número ou como um caractere.

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

A melhor solução que posso pensar é avaliar (format "%s" (point)) ao invés de apenas (point) , ou usando C-x = .

    
por 03.07.2014 / 12:04

Tags