On Fri, Oct 05, 2007 at 08:28:30PM +0100, John Levon wrote:
> On Fri, Oct 05, 2007 at 10:23:58PM +0300, Martin Vermeer wrote:
> 
> > > > > > (Unfortunately insets are no good for CT)
> > > > > 
> > > > > Interesting, why? From what I can see it seems that all the inset
> > > > > people's preferences apply just the same to CT.
> > > > 
> > > > Funny :-(
> > > 
> > > I'm serious, I don't understand why it's different for you?
> > 
> > I don't think you are. Do you seriously think I am that 
> > dogmatic? Come on. I can recognise a use case where insets
> > are a plain bad idea.
> 
> I don't think you're dogmatic. I'm genuinely interested in what makes CT
> insets fail for you but style insets work. I have my own reasons for CT
> insets being an awful idea, but they mostly apply to style insets too.

You're serious about this aren't you? How would you do it? Two
inset types "deleted text" and "inserted text", right?  And
then you have to handle Delete, Backspace and typing
characters: typing Del the first time creates a Deleted inset;
second and later times will move characters from the right
into the inset. Etc. Backspace works naturally, deleting 
inserted chars leftward.

Is this what you mean? Sure you could do it. I would expect
the complexity to be similar as using ranges -- handling
paragraph ends, e.g. --, as I don't quite see where you could
leverage the encapsulation provided by insets. Those are 
just clusters of inserted / deleted stuff, without
anything more in common than precisely that: being inserted
or deleted. It would require an awful lot of special code
to be added.

There's just one nice thing you could do: use the collapsing
property to preview what the doc would look like if you accept
or reject these clusters. Somewhat similar to what branches
do.

Hmmm... interesting. Who knows if there hadn't been a 
pre-existing incomplete CT implementation... perhaps I was
too rash rejecting the idea out of hand.

- Martin

Reply via email to