Quels sont les packages intégrés avec un joli code source? [fermé]

12

J'essaie de me familiariser avec Emacs Lisp, sa syntaxe, les structures de données, etc., donc je me demandais quels sont les packages intégrés dont la source pourrait m'aider à mieux comprendre comment utiliser le langage et apprendre ses idiomes?

caisah
la source
1
Sachez que les packages intégrés sont pleins de code hérité et donc moins adaptés à l'apprentissage des idiomes. Avez-vous envisagé d'utiliser des packages et des bibliothèques externes à la place?
wasamasa
1
Avez-vous envisagé d'utiliser le tutoriel emacs (disponible en infofichier? Certaines fonctions intégrées sont expliquées et détaillées.
kiddouk
@wasamasa Je vois, je vais regarder des paquets plus récents.
caisah
@kiddouk Oui, mais je ne peux pas gérer le style d'écriture / explication.
caisah

Réponses:

12

Je peux recommander le mode Ruby ruby-mode.elet le mode Python python.elpour certains aspects de leur implémentation. Le premier est une excellente source pour l'indentation avancée et le code de navigation basé sur le nouveau moteur SMIE. Cependant, aucun n'utilise les structures de données de manière particulièrement intelligente ou avancée.

Je recommanderais également certaines parties de Org Mode 8, pour sa conception. Notamment, le framework d'exportateur d'Org 8 montre comment créer un framework générique, extensible, semblable à un objet en simple Emacs Lisp. Cependant, je recommanderais contre la plupart des autres parties d'Org, pour les raisons déjà mentionnées dans les commentaires: il est ancien et plein de pratiques anciennes et nuisibles (par exemple find-file-noselectpour lire des fichiers de manière non interactive).

On dit également que Gnus a un bon code, mais encore une fois, je ferais attention à déterminer dans quelle mesure le morceau de code que vous regardez est bien entretenu.

Étant donné qu'Emacs lui-même est très ancien et qu'il n'est maintenu que superficiellement dans de nombreux endroits, la qualité moyenne de son code est en fait plutôt faible par rapport aux normes modernes. Il y a beaucoup de choses héritées là-dedans. Par exemple, même dans les parties centrales telles que le compilateur d'octets, vous trouverez des «TODO» et des «DUNNO» remontant à des années, voire des décennies. De plus, étant donné qu'Emacs est très lent à prendre du code et des développeurs de la communauté «extérieure» en raison des politiques restrictives établies par la FSF, la qualité globale n'augmente que lentement.

Dans l'ensemble, vous êtes plus susceptible de trouver du bon code dans des packages tiers populaires maintenus par des membres de la communauté de haut niveau, par exemple Magit, Projectile, etc.

lunaryorn
la source
2
Oh je vois, ils l'ont changé pour le dernier coffre.
shosti
3
Ceux qui envisagent de plonger dans le code des gnus: veuillez faire attention. Ce sont des eaux profondes et nous ne voudrions perdre personne.
Malabarba
2
Si vous regardez Magit, je vous recommande de regarder sa prochaine branche.
tarsius
2
Avez-vous quelque chose pour sauvegarder votre dernière réclamation? J'attendrais fortement le contraire ...
rasmus
1
Ce que j'avais à l'esprit était: "[...] Emacs est [...] superficiellement maintenu dans de nombreux endroits, la qualité moyenne de son code est en fait plutôt faible" par rapport à "vous êtes plus susceptible de trouver un bon code dans le 3ème populaire forfaits de fête ". Mais "Emacs est très lent à prendre le code et les développeurs de" l'extérieur "" semble aussi un non-sens IMO (lisez-vous le debbugs?) ...
rasmus
1

Pour les idiomes de base, regardez dans simple.el

mpontus
la source