>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)arsdigita.com> writes:
Hrvoje> "Stephen J. Turnbull" <stephen(a)xemacs.org> writes:
>>
>>>> "Hrvoje" ==
Hrvoje Niksic <hniksic(a)arsdigita.com> writes:
Hrvoje> If at all possible, it should be done with extents.
> Or text properties, which are occasionally an alternative (and
> have the advantage of having pretty much the same interface and
> semantics in both Emacsen).
Hrvoje> Except they're slow and buggy. Always have been. :-(
The "buggy" I can't speak to. "Slow" is (AFAIK) a function of
needing
to coalesce and split extents due to deletion or addition of text
lacking the property of the surrounding text. But this needs to be
done, in many cases. Maybe the text properties code could be
optimized a bit.
But extents themselves can be extremely slow if you aren't working "in
display order". They just lend themselves to caching, which is
basically impossible with text properties.
Hrvoje> More and more packages are using overlays, which also goes
Hrvoje> to show that text properties are not as useful as Stallman
Hrvoje> has made them out to be.
Big surprise there. I agree with rms that they are quite useful in
many situations. However, once you abstract from "text as a stream of
characters" and start looking at document structure, you no longer
have any way to get your hands on the text properties. And there are
times when you'd like to structure a region even though it all has the
same property. So they're quite useless (without kludging) for many
modern applications. But you know how rms feels about "constraints"
and "abstraction".
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Don't ask how you can "do" free software business;
ask what your business can "do for" free software.