Spec-Zone.ru › Elisp

Отключение команд

Отключение команды означает, что для её выполнения требуется подтверждение пользователя. Отключение используется для команд, которые могут сбить с толку начинающих пользователей, чтобы предотвратить их случайное использование.

Низкоуровневый механизм отключения команды заключается в добавлении свойства, отличного от 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API