Estoy tratando de familiarizarme con Emacs Lisp, su sintaxis, estructuras de datos, etc., así que me preguntaba cuáles son algunos paquetes integrados cuya fuente podría ayudarme a comprender mejor cómo usar el lenguaje y aprender sus modismos.
12
info
archivo? Algunas funciones integradas se explican y detallan.)Respuestas:
Puedo recomendar el modo Ruby en
ruby-mode.el
y el modo Python enpython.el
algunos aspectos de su implementación. El primero es una fuente particularmente excelente para el sangrado avanzado y el código de navegación basado en el nuevo motor SMIE. Sin embargo, ninguno usa estructuras de datos de ninguna manera particularmente inteligente o avanzada.También recomendaría algunas partes de Org Mode 8, por su diseño. En particular, el marco exportador de Org 8 muestra cómo crear un marco genérico, extensible y similar a un objeto en Emacs Lisp simple. Sin embargo, recomendaría contra la mayoría de las otras partes de Org, por razones ya mencionadas en los comentarios: es antiguo y está lleno de prácticas heredadas y dañinas (por ejemplo,
find-file-noselect
para leer archivos de manera no interactiva).También se dice que Gnus tiene un buen código, pero nuevamente tendré cuidado de determinar qué tan bien mantenido está el fragmento de código en particular.
Dado que Emacs es muy antiguo y solo se mantiene superficialmente en muchos lugares, la calidad promedio de su código es bastante baja para los estándares modernos. Hay muchas cosas heredadas allí. Por ejemplo, incluso en partes centrales como el compilador de bytes, encontrará "TODO" y "DUNNO" que datan de años, si no décadas. Además, dado que Emacs es muy lento para tomar código y desarrolladores de la comunidad "externa" debido a las políticas restrictivas establecidas por la FSF, la calidad general aumenta solo lentamente.
Con todo, es más probable que encuentre un buen código en paquetes populares de terceros mantenidos por miembros de la comunidad de alto perfil, por ejemplo, Magit, Projectile, etc.
fuente
debbugs
?) ...Para modismos básicos, busque en simple.el
fuente