Spec-Zone.ru › Elisp

Свойства текста в строках

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

#("characters" property-data...)

где property-data состоит из нуля или более элементов, сгруппированных по три:

beg end plist

Элементы beg и end — целые числа, вместе они определяют диапазон индексов в строке; plist — список свойств для данного диапазона. Например,

#("foo bar" 0 3 (face bold) 3 4 nil 4 7 (face italic))

представляет строку, текстовое содержимое которой — ‘foo bar’, в которой первые три символа имеют свойство face со значением bold, а последние три — свойство face со значением italic. (Четвертый символ не имеет свойств текста, поэтому его список свойств — 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/Text-Props-and-Strings.html

Spec-Zone.ru

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