Spec-Zone.ru › Elisp

Таблицы сокращений

В этом разделе описывается, как создавать и манипулировать таблицами сокращений.

Функция: 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

Spec-Zone.ru

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