Таблицы сокращений
В этом разделе описывается, как создавать и манипулировать таблицами сокращений.
- Функция: make-abbrev-table &optional props
Эта функция создает и возвращает новую пустую таблицу сокращений — массив obarray, не содержащий символов. Это вектор, заполненный нулями. props — список свойств, применяемых к новой таблице (см. Свойства таблиц сокращений).
- Функция: abbrev-table-p object
Эта функция возвращает ненулевое значение, если object является таблицей сокращений.
- Функция: clear-abbrev-table abbrev-table
Эта функция удаляет все сокращения в abbrev-table, оставляя её пустой.
- Функция: copy-abbrev-table abbrev-table
Эта функция возвращает копию abbrev-table — новую таблицу сокращений, содержащую те же определения сокращений. Она не копирует списки свойств; копируются только имена, значения и функции.
- Функция: define-abbrev-table tabname definitions &optional docstring &rest props
-
Эта функция определяет tabname (символ) как имя таблицы сокращений, т.е. как переменную, значением которой является таблица сокращений. Она определяет сокращения в таблице в соответствии с definitions, списком элементов в формате
(abbrevname expansion [hook] [props...]). Эти элементы передаются в качестве аргументов вdefine-abbrev.Необязательная строка docstring — это строка документации переменной tabname. Список свойств props применяется к таблице сокращений (см. Свойства таблиц сокращений).
Если эта функция вызывается более одного раза для одного и того же tabname, последующие вызовы добавляют определения в definitions к tabname, а не перезаписывают все исходное содержимое. (Последующий вызов перезаписывает только сокращения, явно переопределённые или удалённые в definitions.)
- Переменная: abbrev-table-name-list
Это список символов, значениями которых являются таблицы сокращений.
define-abbrev-tableдобавляет новое имя таблицы сокращений в этот список.
- Функция: insert-abbrev-table-description name &optional human
-
Эта функция вставляет перед точкой описание таблицы сокращений с именем name. Аргумент name — это символ, значением которого является таблица сокращений.
Если human не равно
nil, описание предназначено для человека. Системные сокращения перечислены и идентифицированы как таковые. В противном случае описание — это выражение Lisp — вызовdefine-abbrev-table, который бы определил name так, как он сейчас определён, но без системных сокращений. (Режим или пакет, использующий name, должен отдельно добавить их в name.)
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/Abbrev-Tables.html