From 9600ac7c86905175deb5794a8fec218b3d14250f Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 19 Sep 2007 15:04:50 +0000 Subject: [PATCH] (Display Property): Clarify when multiple display specs work in parallel and when one overrides. Fix error in example. --- lispref/ChangeLog | 2 ++ lispref/display.texi | 23 ++++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lispref/ChangeLog b/lispref/ChangeLog index b1eb12699fc..fdc2957892e 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,6 +1,8 @@ 2007-09-19 Richard Stallman * display.texi (Display Property): Explain multiple display specs. + Clarify when they work in parallel and when one overrides. + Fix error in example. 2007-08-30 Martin Rudalics diff --git a/lispref/display.texi b/lispref/display.texi index f1b3b155223..0aa5a976399 100644 --- a/lispref/display.texi +++ b/lispref/display.texi @@ -3237,15 +3237,20 @@ to use the value specified by the frame. insert images into text, and also control other aspects of how text displays. The value of the @code{display} property should be a display specification, or a list or vector containing several display -specifications (which apply in parallel to the text they cover). +specifications. Display specifications generally apply in parallel to +the text they cover. - Some kinds of @code{display} properties specify something to display -instead of the text that has the property. In this case, ``the text'' -means all the consecutive characters that have the same Lisp object as -their @code{display} property; these characters are replaced as a -single unit. By contrast, characters that have similar but distinct -Lisp objects as their @code{display} properties are handled -separately. Here's a function that illustrates this point: + Some kinds of @code{display} specifications specify something to +display instead of the text that has the property. If a list of +display specifications includes more than one of this kind, the first +is effective and the rest are ignored. + + For these specifications, ``the text that has the property'' means +all the consecutive characters that have the same Lisp object as their +@code{display} property; these characters are replaced as a single +unit. By contrast, characters that have similar but distinct Lisp +objects as their @code{display} properties are handled separately. +Here's a function that illustrates this point: @smallexample (defun foo () @@ -3273,7 +3278,7 @@ results: (goto-char (point-min)) (dotimes (i 5) (let ((string (concat "A"))) - (put-text-property (point) (2+ (point)) 'display string) + (put-text-property (point) (+ 2 (point)) 'display string) (put-text-property (point) (1+ (point)) 'display string) (forward-char 2)))) @end smallexample -- 2.39.2