[EMAIL PROTECTED] (Lars Gullik Bjønnes) writes:

| 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()

InsetIterator is use twice...

the use in buffer.C:3972 will work fine with >= (even better probably)
the use in BufferView2.C:203 ditto here.

IMHO the correct fix will be the one-char patch that changes a '=' to
'>' in InsetIterator.

-- 
        Lgb


Reply via email to