Отключение команд
Отключение команды означает, что для её выполнения требуется подтверждение пользователя. Отключение используется для команд, которые могут сбить с толку начинающих пользователей, чтобы предотвратить их случайное использование.
Низкоуровневый механизм отключения команды заключается в добавлении свойства, отличного от nil disabled, к символу Lisp, соответствующему команде. Эти свойства обычно задаются в файле инициализации пользователя (см. Файл инициализации) с помощью таких выражений Lisp, как это:
(put 'upcase-region 'disabled t)
Для некоторых команд эти свойства заданы по умолчанию (при желании их можно удалить в файле инициализации).
Если значение свойства disabled — строка, сообщение о том, что команда отключена, включает эту строку. Например:
(put 'delete-region 'disabled
"Text deleted this way cannot be yanked back!\n")
См. Отключение в руководстве GNU Emacs, чтобы узнать, что происходит при интерактивном вызове отключённой команды. Отключение команды не влияет на её вызов в качестве функции из программ Lisp.
Значением свойства disabled также может быть список, первым элементом которого является символ query. В этом случае пользователя спросят, выполнять ли команду. Второй элемент списка должен быть nil или отличным от nil, чтобы указать, следует ли использовать соответственно y-or-n-p или yes-or-no-p, а третий элемент — это вопрос, который нужно задать. Для включения запроса подтверждения для команды следует использовать вспомогательную функцию command-query.
- Команда: enable-command command
Разрешить выполнение command (символа) без специального подтверждения в дальнейшем и изменить файл инициализации пользователя (см. Файл инициализации), чтобы это применялось и в последующих сеансах.
- Команда: disable-command command
Требовать специального подтверждения для выполнения command в дальнейшем и изменить файл инициализации пользователя, чтобы это применялось и в последующих сеансах.
- Переменная: disabled-command-function
-
Значением этой переменной должна быть функция. Когда пользователь интерактивно вызывает отключённую команду, эта функция вызывается вместо отключённой команды. Она может использовать
this-command-keys, чтобы определить, что пользователь ввёл для запуска команды, и тем самым найти саму команду.Значением также может быть
nil. В этом случае все команды, даже отключённые, работают обычным образом.По умолчанию задана функция, которая спрашивает пользователя, продолжать ли выполнение.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Disabling-Commands.html