2010-07-05 6 views
33

J'ai lu un certain nombre de paquets Emacs Lisp et je suis tombé sur la convention de certaines fonctions déclarées avec - après le préfixe de la bibliothèque , par exemple:Que signifie la convention double-moins (-) dans les noms de fonction dans Emacs Lisp?

(defun eproject--combine-regexps (regexp-list) 

Je me demande si cette convention pour déclarer les fonctions « privées » à la bibliothèque, mais jusqu'à présent, je ne l'ai pas trouvé quoi que ce soit dans les lignes directrices de codage Emacs.

Répondre

29

Emacs ne prend pas en charge les espaces de noms, les packages, les bibliothèques ou les modules. Les sources Emacs utilisent donc foo- comme préfixe pour une bibliothèque foo, et dans certains cas, foo-- est utilisé pour les liaisons supposées être internes.

+6

Je pensais que ce pourrait être, mais j'essayais de trouver de la documentation pour pointer vers une telle convention. – stsquad

5

Il n'y a vraiment rien de "interne" pour Emacs. Mais oui, certains programmeurs ont adopté cette convention pour indiquer des choses qui sont plus internes - ce qui signifie essentiellement qu'il y aura moins (ou pas) d'hésitation de la part des implémenteurs à les changer. C'est une façon de faire prendre conscience aux utilisateurs du code de cette volatilité possible.

Questions connexes