Python-dev summary, September 16-30, 2000 =========================================
This two-week period continued to be slow, with only 395K of postings during this span. This is down from 1.5Mb of messages in July and August, which were busy and contentious months. Because the CVS tree is in a code freeze right now, waiting for the 2.0final release, no one can make large changes, and therefore there are no large changes to spur discussion, just bug fixes, about which usually little can be said.
2.0beta2 was released on September 27: http://www.pythonlabs.com/products/python2.0/ List of changes from 2.0b1 to b2: http://www.pythonlabs.com/products/python2.0/news.html
The current plan is to issue a release candidate around October 10th. If no problems show up after around a week, this release would become Python 2.0final. So try out beta2, or at least be sure to try the 2.0rc release when it becomes available.
Barry Scott pointed out that the standard library doesn't support Unicode, in general. He ran into a problem with smtplib.py, which would hang if passed a Unicode string. "I found that I had a lot of unicode floating around from win32com that I was passing into wxPython. It checks for string and raises exceptions. More use of encode() and we are up and running. Is this what you expected when you added unicode?" http://www.python.org/pipermail/python-dev/2000-September/016126.html
The ultimate cause is that Unicode strings implement the buffer interface, a C-level API letting callers gain access to the internal representation of a string. The buffer interface is used by PyArg_ParseTuple()'s "s#" format sequence, which is used by the .send() method of socket objects, so the net effect is that sock.send(unicodestr) writes the 2-byte representation of the string to the socket: http://www.python.org/pipermail/python-dev/2000-September/016144.html
Other matters =============
M.-A. Lemburg wondered if there were any Python parsers which would find multiple errors: "Would it be possible to write a Python syntax checker that doesn't stop processing at the first error it finds but instead tries to continue as far as possible (much like make -k)?" http://www.python.org/pipermail/python-dev/2000-September/016165.html
This led to a subthread on compiler generators. Greg Ward talked about ANTLR: "Unlike pgen, ANTLR is LL(k) -- it can support arbitrary lookahead, although k>2 can make parser generation expensive (not parsing itself, just turning your grammar into code), as well as make your language harder to understand. (I have a theory that pgen's k=1 limitation has been a brick wall in the way of making Python's syntax more complex, i.e. it's a *feature*!)" http://www.python.org/pipermail/python-dev/2000-September/016210.html
Greg Ward posted the release plans for the Distutils. Distutils 1.0 was released on October 2, and Greg will be on vacation from Oct. 4 through 12th. The Python 2.0 release is planned for October 10th, of course. http://www.python.org/pipermail/python-dev/2000-September/016286.html Distutils 1.0 announcement: http://www.python.org/pipermail/python-dev/2000-October/016412.html
Guido suggested adding an .expand() method to the MatchObject class provided by the re module, and /F quickly responded by checking in the change: http://www.python.org/pipermail/python-dev/2000-September/016163.html
/F also committed the long-awaited patch to reduce the huge size of the Unicode character database, from over a megabyte down to around 150K.
Related Links =============
Temporary archive of python-dev summaries: http://starship.python.net/crew/amk/python/dev/
Python-dev archives: http://www.python.org/pipermail/python-dev/
Python project page on SourceForge: http://sourceforge.net/projects/python
Python Enhancement Proposals (PEPs) summarize recent and past proposals for enhancements: http://python.sourceforge.net/peps/
The python-dev summaries are intended to inform the larger Python community of currently ongoing development. To comment on material in this python-dev summary, simply post to comp.lang.python or firstname.lastname@example.org. Give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration). All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on a PEP if you can share an informed opinion.