On 5/21/07, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > > With that said, I would to request svn access to the sandbox for my > > work. I will use this access only for modifying stuff in the directory > > I will be assigned to. I would like to use the username "avassalotti" > > and the attached SSH2 public key for this access. > > I have added your key. As we have a strict first.last account policy, > I named it alexandre.vassalotti; please correct me if I misspelled it.
Thanks! > > One last thing, if you know semantic differences (other than the > > obvious ones) between the C and Python versions of the modules I need > > to merge, please let know. This will greatly simplify the merge and > > reduce the chances of later breaking. > > Somebody noticed on c.l.p that, for cPickle, > a) cPickle will start memo keys at 1; pickle at 0 > b) cPickle will not put things into the memo if their refcount is > 1, whereas pickle puts everything into the memo. Noted. I think I found the thread on c.l.p about it: http://groups.google.com/group/comp.lang.python/browse_thread/thread/68c72a5066e4c9bb/b2bc78f7d8d50320 > Not sure what you'd consider obvious, but I'll mention that cStringIO > "obviously" is constrained in what data types you can write (namely, > byte strings only), whereas StringIO allows Unicode strings as well. Yes. I was already aware of this. I just hope this problem will go away with the string unification in Python 3000. However, I will need to deal with this, sooner or later, if I want to port the merge to 2.x. > Less obviously, StringIO also allows > > py> s = StringIO(0) > py> s.write(10) > py> s.write(20) > py> s.getvalue() > '1020' That is probably due to the design of cStringIO, which is separated into two subparts StringI and StringO. So when the constructor of cStringIO is given a string, it builds an output object, otherwise it builds an input object: static PyObject * IO_StringIO(PyObject *self, PyObject *args) { PyObject *s=0; if (!PyArg_UnpackTuple(args, "StringIO", 0, 1, &s)) return NULL; if (s) return newIobject(s); return newOobject(128); } As you see, cStringIO's code also needs a good cleanup to make it, at least, conforms to PEP-7. -- Alexandre _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com