[Python-Dev] unicodeobject.c,2.139,2.140 checkin

M.-A. Lemburg mal@lemburg.com
Thu, 25 Apr 2002 20:39:27 +0200

I don't know why it is, but Unicode always seems to unnecessarily
heat up any discussion involving it. I would really like to know
what is causing this: is it a religious issue, does it have to do
with the people involved or is Unicode inherently controversial ?

In any case, I wasn't looking for a fight when requesting to
back out Martin's changes.

Tim Peters wrote:
> [MAL]
> > Tim, I don't get it... why all the fuzz about some missing asserts?
> They were requested repeatedly, and would have saved everyone hours of
> debugging time.  You didn't add asserts when requested, and didn't oppose
> them either -- they just got ignored. 

Tim, I wasn't aware that you were requesting to add these. 
I remember that you mentioned something about using assert()s in the
Python core many months ago after a discussion with Guido about
this, but it wasn't clear to me that you wanted me to add
assert()s to the codecs.

The reason I wasn't adding assert()s is simply that I 
normally don't use them in C programming. This example shows
that it would probably have been better to do so and I'll
try to remember this for the future.

> The last two times this routine was
> implicated in memory corruption, you assumed it was a pymalloc bug, and
> Martin had to do all the work of indentifying the true cause and then
> convincing you of that.  The first time that was understandable, but the
> second time it wasn't; then that the third version of the code still didn't
> try to catch overwrites was over the edge.

True, the code was complicated due to the many different paths
the codec could take. In the last version, I ripped out all
the counting code because of the troubles it caused previously.

In any case, before spending too much time understanding
the code, why didn't you just ask for a better explanation ?
I would have been the last to deny that request.

> > I must have missed Barry post, sorry.
> Barry filed the latest bug report, and you closed it.  The memory corruption
> showed up as a bad UTF-8 translation in Mailman:
>     http://www.python.org/sf/541828

True, but Martin and you continued discussing the bug
after it had been closed. I hadn't read those messages, because
I thought they were part of the usual SF duplication of
message delivery. Sorry about that.
> > I didn't leave out the asserts for any reason -- just didn't think
> > about using them.
> You would have had you read the comments on the bug reports you closed, so
> I'm not sure what to make of that.  I'll be happy if you use asserts in the
> future, when the code is getting too tricky to be obviously correct; that
> shouldn't need to be a protracted battle.

Will do. Again, there was no fight intended.

Marc-Andre Lemburg
CEO eGenix.com Software GmbH
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/