Visualización inesperada del valor de retorno del punto en emacs

Visualización inesperada del valor de retorno del punto en emacs

Si voy al final de mi .emacsarchivo y lo ejecuto (point)con M-:, aparece el siguiente mensaje:

37018 (#o110232, #x909a, ?邚)

¿Por qué emacs siente la necesidad de decirme qué carácter Unicode corresponde a la posición actual en el búfer?

El problema para mí es que en OS X 10.9.3, emacs 24.3.92.1, pointesa vecesEs notablemente lento cuando lo invoco de forma interactiva, y creo que puede deberse a que lleva algo de tiempo buscar el carácter, #x909a en este caso. No estoy seguro de cómo depurar esto.

Respuesta1

Esta es una característica :) Emacs Lisp no tiene un tipo separado para caracteres (aunque XEmacs sí lo tiene), por lo que los caracteres se representan como números enteros. (point)devuelve un número entero, por lo que eval-expressionno puedo saber con certeza si lo quiso decir como un número o como un carácter.

El formateo de la salida se realiza en eval-expression-print-formatformato simple.el. Desafortunadamente, no parece haber ninguna opción de configuración que pueda usarse para desactivar esta función.

La mejor solución que se me ocurre es evaluar (format "%s" (point))en lugar de simplemente (point)o usar C-x =en su lugar.

información relacionada