[Python-Dev] Deprecating string exceptions (original) (raw)
Barry A. Warsaw barry@zope.com
Thu, 28 Mar 2002 00:02:16 -0500
- Previous message: [Python-Dev] Deprecating string exceptions
- Next message: [Python-Dev] Deprecating string exceptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Fred" == Fred L Drake, Jr <fdrake@acm.org> writes:
Fred> Except of course that it *will* work in Python version
Fred> dating back to (I suspect) 1.0; that certainly was being
Fred> done in 1.2, though I don't think it was ever recommended
Fred> practice.
Fred> That it worked before string interning was an accident of
Fred> implementation: all the 'foo' in your example were in a
Fred> single code object, and so were ensured by the compiler to
Fred> be the same object (they shared an entry in the constants
Fred> table). After string interning was added, it worked more
Fred> broadly because interning caused a single 'foo' to be
Fred> shared.
Of course the first 'foo' and the second 'foo' need not have such a close lexical relationship. And can't interning (I think) be disabled? (Though I'm sure no one does this.) Also, isn't interning limited to just identifier-like strings:
x = 'foo += boy' y = 'foo += boy' x is y 0
So, yes the simple example I gave will work, but the more general concept, that string exceptions cannot guaranteed to be caught by value, still holds.
-Barry
- Previous message: [Python-Dev] Deprecating string exceptions
- Next message: [Python-Dev] Deprecating string exceptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]