Allan Rae <[EMAIL PROTECTED]> writes: | On Wed, 5 Jun 2002, Allan Rae wrote: > >> It's not quite as simple as errors after a newline not being removed. >> Some are, but those in the overly long testcase aren't. I will >> investigate this weekend. > | I've figured it out. This change: > | 2002-03-13 Lars Gullik Bjønnes <[EMAIL PROTECTED]> > | * paragraph.C: change several algorithm to be more appripriate for | the problem domain. This is lookip in FontList and in the InsetList.
Hmm, ... bad boy... | modified Paragraph::InsetIterator(pos) so that it no longer returned | an inset_iterator with (it.pos >= pos) but now only returns one if | (it.pos == pos). The net result being that removeAutoInsets() can't | iterate through the inset list deleting auto-insets as it goes by | simply calling InsetIterator(pos) -- unless the insets are | consecutive like they very often are. > | Three possible solutions: | 1. Fix InsetIterator(pos) | 2. Add nextInsetIterator(pos) with these semantics | 3. Workaround InsetIterator() in removeAutoInsets() > | I picked option 2 since there may be other places that would also | expect the next nearest inset to be returned rather than | insetlist.end() when an inset doesn't exist at pos. Of course that | will only come as paragraph.C is cleaned up to use these helper | functions instead of implementing it locally in every second function. > | Any particular reason why InsetIterator() is capitalised? Is it | because someone was thinking it looks/acts like a constructor? | André? (cvs annotate blames you for the name) > | Anyway, I've attached a patch against 1.2.1cvs -- it should apply and | work with 1.3.0cvs but I can't compile that tree at present | (automake-1.4 not acceptable and upgrading is a low priority). I wonder why I am able to compile with automake 1.4... -- Lgb