Переменные предупреждений
Программы могут настраивать отображение предупреждений, связывая переменные, описанные в этом разделе.
- Переменная: 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