Spec-Zone.ru › Elisp

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

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

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

Команда: enable-command command

Разрешить command (символ) к выполнению без специального подтверждения с этого момента и изменить файл инициализации пользователя (см. Файл инициализации), чтобы это применялось к будущим сеансам.

Команда: disable-command command

Требовать специального подтверждения для выполнения command с этого момента и изменить файл инициализации пользователя, чтобы это применялось к будущим сеансам.

Переменная: disabled-command-function

Значение этой переменной должно быть функцией. Когда пользователь интерактивно вызывает отключенную команду, эта функция вызывается вместо отключенной команды. Она может использовать this-command-keys для определения того, что пользователь ввёл для запуска команды, и, таким образом, найти саму команду.

Значение также может быть nil. Тогда все команды работают нормально, даже отключённые.

По умолчанию значение — это функция, которая спрашивает пользователя, следует ли продолжать.

Copyright © 1990-1996, 1998-2022 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