GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Text-Props-and-Strings.html ・ emacs-doc.conao3.com

2.4.8.4 文字列におけるテキストプロパティ

文字列は、含まれる文字そのものに加えて、それらの文字のプロパティを保持できます。これにより、文字列とバッファ間でテキストをコピーするプログラムが、特別な処理を必要とせずにテキストのプロパティをコピーできるようになります。テキストプロパティの意味については、テキストプロパティを参照してください。テキストプロパティを持つ文字列では、特別な読み取りおよび出力構文が使用されます:

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

ここで、property-dataは、以下のように3つずつのグループに分かれた0個以上の要素で構成される:

beg end plist

要素 beg と end は整数であり、合わせて文字列内のインデックス範囲を指定します。plist はその範囲に対応するプロパティリストです。例えば、

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

テキスト内容が ‘foo bar’ である文字列を表し、そのうち最初の3文字は値 bold の face プロパティを、最後の3文字は値 italic の face プロパティを持っています。(4文字目にはテキストプロパティがないため、そのプロパティリストは nil となります。どの範囲にも含まれない文字はデフォルトでプロパティを持たないため、プロパティリストとして nil を指定する範囲を明示する必要は実際にはありません。)