Spec-Zone.ru › Elisp

Запуск хуков

В этом разделе мы документируем функцию run-hooks, используемую для запуска обычного хука. Мы также документируем функции для запуска различных видов аномальных хуков.

Функция: run-hooks &rest hookvars

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

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

Значение переменной хука также может быть единственной функцией — либо выражением лямбда, либо символом с определением функции — которую run-hooks вызывает. Но такое использование устарело.

Если переменная хука локальна для буфера, используется локальная переменная буфера вместо глобальной. Однако, если локальная переменная буфера содержит элемент t, глобальная переменная хука также будет выполнена.

Функция: run-hook-with-args hook &rest args

Эта функция выполняет аномальный хук, вызывая все функции хука в hook, передавая каждой из них аргументы args.

Функция: run-hook-with-args-until-failure hook &rest args

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

Функция: run-hook-with-args-until-success hook &rest args

Эта функция выполняет аномальный хук, вызывая каждую функцию хука, останавливаясь, если одна из них завершается успешно, вернув значение, отличное от nil. Каждая функция хука получает аргументы args. Если эта функция останавливается, потому что одна из функций хука возвращает значение, отличное от nil, она возвращает это значение; в противном случае она возвращает 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/Running-Hooks.html

Spec-Zone.ru

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