Что это делает?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
... и отличается от
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
Что это делает?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
... и отличается от
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
Нет разницы:
(eq 'my-add #'my-add)
дает t
#
может использоваться перед выражением lambda
, указывая байту-компилятору, что следующее выражение может быть скомпилировано байтом, см. документы для Анонимные функции. Но в случае символа нечего компилировать.
В общем случае он используется в печатном виде вместе с левой скобой (<), чтобы указать, что напечатанный объект является описание (но не может быть прочитано). Например:
#<buffer foo.txt>
Он также используется в конструкциях читателя для представления круговых структур. См. Документы для Прочитать синтаксис для круглых объектов.
И тогда вы используете его для обозначения базы для целых чисел. #x2c -> 44
.
Плюс больше я уверен.
Подробный список можно найти в верхней части справочного индекса Emacs lisp.
Изменить: или еще более удобно, изнутри Emacs:
M-x info
RET (откройте информационный браузер)
d m elisp
RET (откройте руководство elisp)
I #
RET (перечислите записи для #
в индексе)
Я нашел этот вопрос во время поиска того, что означал хэш в том, что я нашел при взломе mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
который является форматом, используемым для свойств текста в строках, где:
"-%-"
, текст для определения: один тире и % - construct, что приводит к тире достаточно для заполнения оставшейся части линии режима ", в результате чего появился знаменитый Emacs ------
.0
, первый символ, на который применяются свойства текста.3
, последний символ, на который применяются свойства текста, т.е. весь "-%-"
.(help-echo "...")
, свойство и строка в качестве аргумента.Это можно создать с помощью функции propertize
:
(propertize "Hover over me!" 'help-echo '"congratulations!")
будет таким же, как #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Если вы используете режим блокировки шрифтов, использование команды buffer-substring
может вызвать что-то вроде этого:
(buffer-substring 1 28) ; First 27 characters in the current buffer
⇒ #(";; This buffer is for notes"
0 3
(fontified t face font-lock-comment-delimiter-face)
3 27
(fontified t face font-lock-comment-face))
Итак, вы можете создать что-то вроде: