Spec-Zone.ru › Elisp

Переменные предупреждений

Программы могут настраивать отображение предупреждений, связывая переменные, описанные в этом разделе.

Переменная: warning-levels

Этот список определяет смысл и порядок уровней серьёзности предупреждений. Каждый элемент задаёт один уровень серьёзности; элементы расположены в порядке убывания серьёзности.

Каждый элемент имеет форму (level string [function]), где level — определяемый им уровень серьёзности. string задаёт текстовое описание этого уровня. В string следует использовать «%s», чтобы указать, куда поместить сведения о типе предупреждения, либо опустить «%s», чтобы не включать эти сведения.

Необязательный аргумент function, если он не равен nil, задаёт функцию, вызываемую без аргументов для привлечения внимания пользователя. Примечательный пример — ding (см. Звуковые сигналы).

Обычно не следует изменять значение этой переменной.

Переменная: warning-prefix-function

Если значение не равно nil, оно задаёт функцию для создания текста-префикса предупреждений. Программы могут связать переменную с подходящей функцией. display-warning вызывает эту функцию, передавая ей в качестве текущего буфера буфер предупреждений; функция может вставить в него текст. Этот текст становится началом сообщения предупреждения.

Функция вызывается с двумя аргументами: уровнем серьёзности и соответствующей ему записью в warning-levels. Она должна вернуть список, который будет использоваться вместо этой записи (значение не обязательно должно быть фактическим элементом warning-levels, но его структура должна совпадать). Создав такое значение, функция может изменить уровень серьёзности предупреждения или задать другую обработку для данного уровня.

Если значение переменной равно nil, текст префикса отсутствует; предупреждение отображается, начиная с части string записи в warning-levels, соответствующей уровню предупреждения.

Переменная: warning-series

Программы могут связать эту переменную с t, чтобы указать, что следующее предупреждение должно начать серию. Если несколько предупреждений образуют серию, точка остаётся на первом предупреждении серии, а не перемещается при каждом предупреждении так, чтобы оказаться на последнем. Серия заканчивается, когда локальная привязка этой переменной снимается и warning-series снова становится nil.

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

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

Обычное значение переменной — nil; это означает, что каждое предупреждение обрабатывается отдельно.

Переменная: warning-fill-prefix

Если значение этой переменной не равно nil, оно задаёт префикс заполнения, используемый при форматировании текста каждого предупреждения.

Переменная: warning-fill-column

Столбец, по которому форматируются предупреждения.

Переменная: warning-type-format

Эта переменная задаёт формат отображения типа предупреждения в тексте предупреждения. Результат форматирования типа таким образом включается в сообщение в соответствии со строкой в записи warning-levels. Значение по умолчанию — " (%s)". Если связать переменную с пустой строкой "", тип предупреждения не будет отображаться.

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/Warning-Variables.html

Spec-Zone.ru

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