A lo largo del día uso constantemente C-h f
o C-h v
( describe-function
y describe-variable
) para buscar documentación para funciones y variables. La mayoría de las veces, si no obtengo toda la información que necesito, haré clic en el enlace del archivo al final de:
some-random-command is an interactive compiled Lisp function in `some-mode.el'.
y navega hasta el código fuente. Esto funciona para paquetes instalados, pero no parece funcionar para los integrados. Por ejemplo, en la parte superior de la página de ayuda para el comando, describe-function
todo lo que obtengo es:
describe-function is an interactive compiled Lisp function.
sin enlace al código fuente. ¿Hay alguna forma de navegar rápidamente al código fuente de un paquete integrado?
Sé que puedo encontrar el código fuente en, por ejemplo, /usr/share/emacs/24.5/lisp
y encontrar varias formas de acceder a ese directorio rápidamente, pero tengo curiosidad por saber si hay una manera rápida y fácil de navegar a una función incorporada / definición de variable en el código fuente. ¡Gracias!
M-x describe-function
: describe-function es una función Lisp compilada con carga automática interactiva en 'help-fns.el'. Y desde allí puedo hacer clic en (o presionar enter) help-fns.el
y luego ser transportado a la sección correspondiente del código. ¿Quizás tenga múltiples versiones de Emacs, y la que está usando en este momento no tiene todo el código fuente instalado?
emacs -Q
(sin archivo de inicio), o si puede reprogramarlo con una receta que comienza con emacs -Q
(por ejemplo, decir qué bibliotecas carga y cómo las carga, etc.), considere la posibilidad de presentar un error reportar: M-x report-emacs-bug
.
.el
archivos (tratados como opcionales) de los .elc
archivos (obligatorios), de modo que necesita instalar uno o más paquetes adicionales para obtenerlos. Si obtuvo Emacs del administrador de paquetes de su sistema operativo, tal vez esto lo explique.
/usr/bin/emacs
y /usr/bin/emacsclient
, y tengo una versión muy bien empaquetado en una aplicación OSX carpeta que termina por .app - es decir, /Applications/Emacs.app
(dentro de esa Emacs.app, son los binarios y toda la archivos de código fuente).
M-x find-function
;M-x find-variable
;M-x find-face
;M-x find-library
. Siempre uso una instalación completa de Emacs para tener acceso a todo, y justo después de construir mi propio Emacs copio sobre el código fuente C y establezco su ubicación para que pueda encontrar definiciones de código fuente C también. Consulte la variablefind-function-C-source-directory
para establecer la ubicación del código fuente C después de copiarlo.