John Levon wrote:

> It is also valid for empty paragraphs. Its semantics mean "if you look
> in getChar(lastPos()), you'll find something, unless it's an empty

That's the same with both ways. 

> paragraph". Now, before, we did that by returning -1 in the empty case,
> and we had all sorts of bits of code getting it dead wrong and accessing
> places it shouldn't.

Accessing it when the par is empty is wrong in all cases. If there is code
like you say, then it's wrong even now. What are you talking about? 

>> Think of it as a reverse_iterator that points at the end (i.e.
>> rend()): it should be -1!
> 
> Now why should we think of it like that ? That is *not* what it is. If
> you want to move the whole pos access over to proper STL style
> iterators, fine, but your patch does not do that.

Ok, is a matter of conventions. I find the STL convention much more
reasonable than your *special casing*.

>> Where?
> 
> You expect me to remember !!

No, I wanted to piss you off ;). Ok, sorry for that.

>> AFAIC it's not only computeBidiTables, i was getting crashes also on the
>> table code that I don't get any more (not investigated so much, though)
> 
> Harrumph, this sounds like knock-on effects. I did quite some table

It's not. I'm talking about bogus getchar requests.

> testing of this when I made the change as part of the change tracking
> stuff (which basically required it in order for sanity to prevail)

Activate the strong asserts (that you have obviously torn off), then
file->new. Insert a table, and try to write something inside. crash.
Or load the userguide. It's ALL bogus getchar requests. 

I really don't understand you. 

Alfredo


Reply via email to