The following has the unexpected/unsatisfactory behaviour of turning
the 'X' (the end-glyph of the the 1st extent) bold:
(progn
(pop-to-buffer (get-buffer-create "*test*"))
(let ((str1 "abc")
(str2 ".")
(glyph1 (make-glyph "X")))
(add-text-properties 0 3 `(end-glyph ,glyph1) str1)
(add-text-properties 0 1 `(face bold) str2)
(insert str1)(insert str2)))
I'm pretty sure this counts as a bug, not a feature. At its most
extreme (and of course when the glyphs involved are real images), it
prevents accumulating several adjacent images, e.g.
(progn
(pop-to-buffer (get-buffer-create "*test*"))
(let ((str1 "abc")
(str2 "def")
(glyph1 (make-glyph "X"))
(glyph2 (make-glyph "Y")))
(add-text-properties 0 3 `(end-glyph ,glyph1 invisible t) str1)
(add-text-properties 0 3 `(end-glyph ,glyph2 invisible t) str2)
(insert str1)(insert str2)))
This causes real problems for ecb.
The best evidence I can give that this is a bug is that the
nearly-corresponding code for Emacs does not have the bleed-through
property:
(progn
(pop-to-buffer (get-buffer-create "*test*"))
(let ((str1 "abc")
(str2 "l"))
(add-text-properties 0 3 '(display "X") str1)
(add-text-properties 0 1 '(face bold) str2)
(insert str1)(insert str2)))
I'm afraid I have no familiarity at all with the low-level display
code, confirmed by a brief fruitless exploration of extent.c, so no
chance of contributing a fix, but I'm willing to try again if someone
has some hints as to what the problem might be.
Thanks,
ht
--
Henry S. Thompson, School of Informatics, University of Edinburgh
Half-time member of W3C Team
10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 651-1426, e-mail: ht(a)inf.ed.ac.uk
URL:
http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta