[Python-checkins] python/nondist/peps pep-0283.txt,1.26,1.27

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
2003年1月06日 10:58:40 -0800


Update of /cvsroot/python/python/nondist/peps
In directory sc8-pr-cvs1:/tmp/cvs-serv1315a
Modified Files:
	pep-0283.txt 
Log Message:
PEPs 273+302 have landed.
New ideas:
 - Add reST?
 - Fix new-style pickling
 - Remove __safe_for_unpickling__
Index: pep-0283.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0283.txt,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** pep-0283.txt	30 Dec 2002 17:30:25 -0000	1.26
--- pep-0283.txt	6 Jan 2003 18:58:25 -0000	1.27
***************
*** 41,44 ****
--- 41,47 ----
 - Set API issues; is the sets module perfect?
 
+ I expect it's good enough to stop polishing it until we've had
+ more widespread user experience.
+ 
 - A nicer API to open text files, replacing the ugly (in some
 people's eyes) "U" mode flag. There's a proposal out there to
***************
*** 46,54 ****
--- 49,65 ----
 (Shouldn't it have a bufsize argument too?)
 
+ Ditto.
+ 
 - Fredrik Lundh's basetime proposal:
 http://effbot.org/ideas/time-type.htm
 
+ I believe this is dead now.
+ 
 - New widgets for Tkinter???
 
+ Has anyone gotten the time for this? *Are* there any new
+ widgets in Tk 8.4? Note that we've got better Tix support
+ already (though not on Windows yet).
+ 
 
 Completed features for 2.3
***************
*** 141,144 ****
--- 152,164 ----
 this module basically complete -- except for its documentation.
 
+ - PEP 273 Import Modules from Zip Archives Ahlstrom
+ 
+ Implemented as a part of the PEP 302 implementation work.
+ 
+ - PEP 302 New Import Hooks JvR
+ 
+ Implemented (though the 2.3a1 release contained some bugs that
+ have been fixed post-release).
+ 
 
 Planned features for 2.3
***************
*** 153,168 ****
 life of the 2.3 development process.
 
 - For a class defined inside another class, the __name__ should be
 "outer.inner", and pickling should work.
 
- - PEP 273 Import Modules from Zip Archives Ahlstrom
- 
- There's a patch at http://www.python.org/sf/492105; an updated
- patch at http://www.python.org/sf/645650; but my expectation is
- that this will be subsumed by the PEP 302 work.
 
! - PEP 302 New Import Hooks JvR
 
! This looks very promising. See http://www.python.org/sf/652586
 
 - Documentation: complete the distribution and installation
--- 173,220 ----
 life of the 2.3 development process.
 
+ - reST is going to be used a lot in Zope3. Maybe it could become
+ a standard library module?
+ 
+ - I really, really, really would like to improve pickling of
+ new-style classes.
+ 
+ I've finally come to the conclusion that any solution to making
+ pickled new-style class instances (and hence pickled datetime
+ objects) more efficient will require adding new codes to the
+ pickle protocol.
+ 
+ We can do that in Python 2.3. Because this is backwards
+ incompatible, I propose that you have to request this protocol
+ explicitly. I propose to "upgrade' the binary flag to a general
+ "protocol version" flag, with values:
+ 
+ 0 - original protocol
+ 1 - binary protocol
+ 2 - new protocol
+ 
+ The new protocol can contain an explicit pickle code for the new
+ datetime objects. That's about all the thinking I've done so
+ far. We need to decide on the new format, but first we must
+ figure out ways how to efficiently pickle and unpickle subclass
+ instances of (picklable) built-in types, preferably without
+ having to copy all the data twice, and instances of new-style
+ classes with slots. And we need to implement these twice: in
+ Python for pickle.py and in C for cPickle.py.
+ 
+ - I'd also like to get rid of __safe_for_unpickling__ and all
+ other pseudo security features. Attempting to unpickle pickles
+ from an untrusted source is insane, and nothing can help us
+ there; I'd rather make the marshal protocol bulletproof (all it
+ needs is a few more checks for inconsistent data and a little
+ better error handling).
+ 
 - For a class defined inside another class, the __name__ should be
 "outer.inner", and pickling should work.
 
 
! Ongoing tasks
 
! The following are ongoing TO-DO items which we should attempt to
! work on without hoping for completion by any particular date.
 
 - Documentation: complete the distribution and installation

AltStyle によって変換されたページ (->オリジナル) /