Sou um pouco novo no Emacs. Ao analisar algumas das configurações, descobri que existem dois tipos de comando no "add-hook".
(add-hook 'LaTeX-mode-hook #'LaTeX-math-mode)
e
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
Isso me confundiu há muito tempo e eu não sei como pesquisar "# '" no google ...
Obrigado.
Respostas:
No Emacs Lisp, se
foo
é um símbolo, então'foo
e#'foo
é completamente equivalente. A última forma (com#'
) é preferida quandofoo
é uma função, pois documenta o fato de que se destina a ser funcionalizada.Suas duas formas são, portanto, completamente equivalentes e a que
#'
é preferida.Edit : como apontado por Malabarba, isso não é bem verdade:
#'
nos símbolos, o byte-compiler emitirá um aviso se a função não estiver definida.(Observe que este não é o caso das formas lambda, para as quais a planície
'
impede que o compilador de bytes compile a forma lambda, conforme documentado em outro lugar . Observe também que esse também não é necessariamente o caso em outros dialetos Lisp, por exemplo, em O Lisp comum#'foo
executa ligação antecipada.)fonte
#'
instrui o compilador a compilar o lambda, em vez de aspas simples, o que não acontece. Eu reformulei de uma maneira esperançosamente mais clara.