Je suis un peu nouveau pour Emacs. En regardant certaines des configurations, j'ai trouvé qu'il y a deux types de commandes dans "add-hook".
(add-hook 'LaTeX-mode-hook #'LaTeX-math-mode)
et
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
Cela m'embrouille depuis longtemps et je ne sais pas comment rechercher "# '" dans google ...
Merci.
Réponses:
Dans Emacs Lisp, si
foo
est un symbole, alors'foo
et#'foo
sont complètement équivalents. Cette dernière forme (avec#'
) est préférée lorsqu'ellefoo
est une fonction, car elle documente le fait qu'elle est destinée à être appelée.Vos deux formes sont donc totalement équivalentes, et celle avec
#'
est préférée.Edit : comme l'a souligné Malabarba, ce n'est pas tout à fait vrai:
#'
sur les symboles, le compilateur d'octets émettra un avertissement si la fonction n'est pas définie.(Notez que ce n'est pas le cas pour les formes lambda, pour lesquelles plain
'
-compilateur d'octets ne compile pas la forme lambda, comme documenté ailleurs . Notez en outre que ce n'est pas nécessairement le cas dans d'autres dialectes Lisp, par exemple dans Common Lisp#'foo
effectue une liaison anticipée.)la source
#'
demande au compilateur de compiler le lambda, par opposition à la citation simple, qui ne le fait pas. J'ai reformulé de manière plus claire, je l'espère.