Здесь мы перечисляем свойства символов, которые используются для специальных целей в Emacs. В следующей таблице, когда мы говорим «именованная функция», мы имеем в виду функцию, имя которой является соответствующим символом; аналогично для «именованной переменной» и т. д.
:advertised-bindingЭто значение свойства указывает предпочтительную привязку клавиш при отображении документации для именованной функции. См. Подстановка привязок клавиш в документации.
char-table-extra-slotsЗначение, если оно не равно nil, указывает количество
дополнительных слотов в именованном типе таблицы символов. См. Таблицы символов.
customized-faceface-defface-specsaved-facetheme-faceЭти свойства используются для записи стандартных, сохраненных,
настраиваемых и тематических спецификаций лица. Не устанавливайте их напрямую;
они управляются defface и связанными функциями. См. Определение лиц.
customized-valuesaved-valuestandard-valuetheme-valueЭти свойства используются для записи стандартного значения, сохраненного
значения, настраиваемого, но не сохраненного значения и тематических
значений настраиваемой переменной. Не устанавливайте их напрямую; они
управляются defcustom и связанными функциями. См. Определение переменных настройки.
definition-nameЭто свойство используется для поиска определения символа в исходном
коде, когда может быть трудно найти определение текстовым поиском в исходном
файле. Например, define-derived-mode (см. Определение производных режимов)
может неявно определить функцию или переменную, специфичную для режима; или ваша
Lisp-программа может сгенерировать вызов во время выполнения defun для
определения функции (см. Определение функций).
В этих и аналогичных случаях свойство definition-name символа
должно быть другим символом, определение которого можно найти текстовым поиском,
и чей код определяет исходный символ.
В примере с define-derived-mode значение этого свойства
функций и переменных, которые он определяет, должно быть символом режима.
Команды справки Emacs, такие как C-h f (см. Справка в Руководство GNU Emacs)
используют это свойство для отображения определения символа с помощью кнопки в
буфере *Help*, где отображается документация символа.
disabledЕсли значение не равно nil, именованная функция
отключается как команда. См. Отключение команд.
face-documentationЗначение хранит строку документации именованного лица. Это
устанавливается автоматически defface. См. Определение лиц.
history-lengthЗначение, если оно не равно nil, указывает максимальную
длину истории минибуфера для именованной переменной истории. См. История минибуфера.
interactive-formЗначение является интерактивной формой для именованной функции. Обычно
вы не должны устанавливать это напрямую; вместо этого используйте специальную
форму interactive. См. Интерактивный вызов.
menu-enableЗначение — это выражение для определения того, должен ли именованный элемент меню быть включен в меню. См. Простые элементы меню.
mode-classЕсли значение равно special, именованный основной
режим является специальным. См. Соглашения для основных режимов.
permanent-localЕсли значение не равно nil, именованная переменная является
буферно-локальной переменной, значение которой не должно сбрасываться при
смене основных режимов. См. Создание и удаление буферно-локальных привязок.
permanent-local-hookЕсли значение не равно nil, именованная функция не должна
удаляться из локального значения переменной хука при смене основных режимов. См. Установка хуков.
pure ¶Если значение не равно nil, именованная функция считается
чистой (см. Что такое функция?). Вызовы с
константными аргументами могут быть вычислены во время компиляции. Это может
перенести ошибки времени выполнения во время компиляции. Не путать с чистым
хранилищем (см. Чистое хранилище).
risky-local-variableЕсли значение не равно nil, именованная переменная считается
рискованной как буферно-локальная переменная. См. Буферно-локальные переменные.
safe-functionЕсли значение не равно nil, именованная функция считается
в целом безопасной для вычисления. См. Определение безопасности вызова функции.
safe-local-eval-functionЕсли значение не равно nil, именованная функция безопасна для
вызова в формах буферно-локального вычисления. См. Буферно-локальные переменные.
safe-local-variableЗначение указывает функцию для определения безопасных буферно-локальных значений для именованной переменной. См. Буферно-локальные переменные. Поскольку это значение используется при загрузке файлов, функция должна быть эффективной и в идеале не должна приводить к загрузке каких-либо библиотек для определения безопасности (например, она не должна быть функцией автозагрузки).
side-effect-free ¶Неравное nil значение указывает, что именованная функция
свободна от побочных эффектов (см. Что такое функция?), поэтому байт-компилятор может
игнорировать вызов, значение которого не используется. Если значение свойства
является error-free, байт-компилятор может даже удалить такие
неиспользуемые вызовы. В дополнение к оптимизациям байт-компилятора, это свойство
также используется для определения безопасности функции (см. Определение безопасности вызова функции).
important-return-value ¶Неравное nil значение заставляет байт-компилятор предупреждать
о коде, который вызывает именованную функцию, не используя ее возвращаемое
значение. Это полезно для функций, где такое действие, вероятно, является
ошибкой.
undo-inhibit-regionЕсли не равно nil, именованная функция предотвращает
ограничение операции undo активной областью, если undo
вызывается сразу после функции. См. Отмена.
variable-documentationЕсли не равно nil, это указывает строку документации
именованной переменной. Это устанавливается автоматически defvar
и связанными функциями. См. Определение лиц.