[Python-Dev] PEP 332 revival in coordination with pep 349? [ Was:Re: release plan for 2.5 ?] (original) (raw)
Thomas Wouters thomas at xs4all.net
Wed Feb 15 22:27:13 CET 2006
- Previous message: [Python-Dev] PEP 332 revival in coordination with pep 349? [ Was:Re: release plan for 2.5 ?]
- Next message: [Python-Dev] Please comment on PEP 357 -- adding nb_index slot to PyNumberMethods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Feb 15, 2006 at 01:38:41PM -0500, Jim Jewett wrote:
On 2/14/06, Neil Schemenauer wrote: > People could spell it bytes(s.encode('latin-1'))
Guido wrote: > At the cost of an extra copying step. I asked: > ... why not just add some smarts to the bytes constructor? Guido wrote: > ... the VM usually keeps an extra reference > on the stack so the refcount is never 1. But > you can't rely on that I did miss this, but PyStringResize seems to work around it, and I'm not sure that the bytes object can't be just as intimate.
No, _PyString_Resize doesn't work around it. _PyString_Resize only works if the refcount is exactly one: only the caller has a reference. And by 'caller', I mean 'the calling C function'. Besides that, the caller takes care to only use _PyString_Resize on strings it created itself. Theoretically it could 'steal' a reference from someplace else, but I haven't seen _PyString_Resize-using code do that, and it would be a recipe for disaster.
-- Thomas Wouters <thomas at xs4all.net>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
- Previous message: [Python-Dev] PEP 332 revival in coordination with pep 349? [ Was:Re: release plan for 2.5 ?]
- Next message: [Python-Dev] Please comment on PEP 357 -- adding nb_index slot to PyNumberMethods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]