displayプロパティ ¶テキストプロパティ(またはオーバーレイプロパティ)のdisplayはテキストへのイメージ挿入、およびテキスト表示のその他の事相を制御します。同じdisplayプロパティ値内のディスプレイ仕様は、一般的にはそれらがカバーするテキストにたいして並行して適用されます。
複数のソース(オーバーレイおよび/またはテキストプロパティ)がdisplayプロパティにたいして値を指定しますが1つの値だけが効果をもち、それはget-char-propertyのルールにしたがいます。テキストプロパティを調べるを参照してください。
displayプロパティの値はディスプレイ仕様、または複数のディスプレイ仕様を含むリストかベクターであるべきです。
これはベクター、リスト、あるいは単純なプロパティであるかどうかに関係なく、特定のdisplayを取得するために使用できる利便用関数である。これはget-text-property
(テキストプロパティを調べるを参照)と似ているが、displayプロパティにたいしてのみ動作する点が異なる。
positionは調べるバッファーまたは文字列内の位置、propはリターンされるdisplayプロパティ。オプション引数objectは文字列かバッファーのいずれかで、デフォルトはカレントバッファー。オプション引数propertiesが非nilならそれはdisplayプロパティでなければならず、その場合にはpositionとobjectは無視される(これはたとえばget-char-property
(テキストプロパティを調べるを参照)ですでにdisplayプロパティを取得済みな場合に役に立つかもしれない)。
startからendのテキストのdisplayプロパティpropnvalueを追加する。
リージョン内にdisplayプロパティが非nilのテキストがあれば、それらのプロパティは保たれる。たとえば:
(add-display-text-property 4 8 'height 2.0) (add-display-text-property 2 12 'raise 0.5)
これを行うと2から4のリージョンのdisplayプロパティはraise、4から8のリージョンのdisplayプロパティにはraiseとheightの両方、そして最後の8から12のdisplayプロパティはraiseだけになる。
objectが非nilなら、それは文字列かバッファーであること。nilの場合のデフォルトはカレントバッファー。
いくつかのディスプレイ仕様には、表示時に評価されるLispフォームを含めることができます。これは特定の状況では安全ではないかもしれません(ディスプレイ仕様が何らかの外部のプログラムやエージェントにより生成されたとき等)。(disable-eval spec)のように特別なシンボルdisable-evalで始まるリスト内にディスプレイ仕様をラップすることにより、他のすべてのディスプレイプロパティ機能をサポートしつつ、spec内の任意のLisp評価が無効になります。
このセクションの残りの部分では、複数の種類のディスプレイ仕様とそれらの意味を説明します。