Отложенные предупреждения
Иногда вам может потребоваться избежать отображения предупреждения во время выполнения команды и показать его только после завершения команды. Для этого вы можете использовать функцию delay-warning.
- Функция: delay-warning тип сообщение &опционально уровень буфер-имя
Эта функция является отложенным аналогом
display-warning(см. Основы предупреждений), и она вызывается с теми же аргументами. Сообщение о предупреждении помещается в очередь вdelayed-warnings-list.
- Переменная: delayed-warnings-list
-
Значение этой переменной представляет собой список предупреждений, которые должны быть отображены после завершения текущей команды. Каждый элемент должен быть списком
(type message [level [buffer-name]])
с той же формой и тем же значением, что и список аргументов функции
display-warning. Сразу после запускаpost-command-hook(см. Обзор команд), цикл Emacs отображает все предупреждения, указанные в этой переменной, а затем сбрасывает её значение доnil.
Программы, которым требуется дополнительная настройка механизма отложенных предупреждений, могут изменить переменную delayed-warnings-hook:
- Переменная: delayed-warnings-hook
-
Это обычный хук, который выполняется циклом Emacs после
post-command-hook, для обработки и отображения отложенных предупреждений.Его значение по умолчанию представляет собой список из двух функций:
(collapse-delayed-warnings display-delayed-warnings)
Функция
collapse-delayed-warningsудаляет повторяющиеся записи изdelayed-warnings-list. Функцияdisplay-delayed-warningsвызываетdisplay-warningдля каждой записи вdelayed-warnings-list, по очереди, а затем устанавливаетdelayed-warnings-listв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/Delayed-Warnings.html