Отключение команды помечает команду как требующую подтверждения пользователя перед её выполнением. Отключение используется для команд, которые могут сбить с толку начинающих пользователей, чтобы предотвратить случайное использование этих команд.
Низкоуровневый механизм отключения команды заключается в размещении
не nil свойства disabled на символе Lisp для команды.
Эти свойства обычно устанавливаются в файле инициализации пользователя
(см. Файл инициализации) с помощью выражений Lisp, таких как:
(put 'upcase-region 'disabled t)
Для нескольких команд эти свойства присутствуют по умолчанию (вы можете удалить их в своём файле инициализации, если захотите).
Если значением свойства disabled является строка, сообщение
о том, что команда отключена, включает эту строку. Например:
(put 'delete-region 'disabled
"Удалённый таким образом текст нельзя вставить обратно!\n")
См. Отключение в Руководстве GNU Emacs для подробностей о том, что происходит при интерактивном вызове отключённой команды. Отключение команды не влияет на её вызов как функции из программ на Lisp.
Значением свойства disabled также может быть список, где
первый элемент — это символ query. В этом случае пользователю
будет задан вопрос о выполнении команды. Второй элемент в списке
должен быть nil или не nil, чтобы указать, использовать ли
y-or-n-p или yes-or-no-p соответственно, а третий
элемент — это задаваемый вопрос. Для включения запроса для команды
следует использовать вспомогательную функцию command-query.
Разрешить выполнение command (символа) без специального подтверждения отныне и изменить файл инициализации пользователя (см. Файл инициализации), чтобы это применялось в будущих сеансах.
Требовать специального подтверждения для выполнения command отныне и изменить файл инициализации пользователя, чтобы это применялось в будущих сеансах.
Значение этой переменной должно быть функцией. Когда пользователь
интерактивно вызывает отключённую команду, вместо неё вызывается
эта функция. Она может использовать this-command-keys,
чтобы определить, что набрал пользователь для запуска команды,
и таким образом найти саму команду.
Значение также может быть nil. Тогда все команды работают
нормально, даже отключённые.
По умолчанию значением является функция, которая спрашивает пользователя, следует ли продолжить.