Что это делает?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
... и действительно ли это отличается, чем
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
Нет никакой разницы:
(eq 'my-add #'my-add)
дает t
#
можно использовать перед лямбда
выражение, указывающее байтовому компилятору, что следующее выражение может быть байтово скомпилировано, см. Документацию для анонимных функций . Но в случае с символом компилировать нечего.
Как правило, он используется в печатном представлении вместе с левой угловой скобкой (<), чтобы указать, что напечатанный объект является описанием (но не может быть прочитан). Например:
#<buffer foo.txt>
Он также используется читателем в конструкциях для представления круговых структур. См. Документацию для Синтаксис чтения круглых объектов .
И затем вы можете использовать его для обозначения основания для целых чисел , например # x2c -> 44
.
Я уверен, что еще больше.
Полный список можно найти в верхней части указателя ссылок Emacs lisp .
Edit : Или, что еще удобнее, из самого Emacs:
Mx info
RET (открыть информационный браузер)
d m elisp
RET (открыть руководство по elisp)
I #
RET (перечислить записи для #
в индексе)