summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2003-01-02 21:33:15 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2003-01-02 21:33:15 (GMT)
commitd5ac8d0b3990853d3dfaa6f7029c71dadeee10b1 (patch)
tree923e0db54f60e85ffdc9e765f8d145afa16e6e1f /Doc
parent397301eccb945ea98d03d3022882900a9fd2046f (diff)
downloadcpython-d5ac8d0b3990853d3dfaa6f7029c71dadeee10b1.zip
cpython-d5ac8d0b3990853d3dfaa6f7029c71dadeee10b1.tar.gz
cpython-d5ac8d0b3990853d3dfaa6f7029c71dadeee10b1.tar.bz2
Fix PEP 302 description; bump version number
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/whatsnew23.tex27
1 files changed, 17 insertions, 10 deletions
diff --git a/Doc/whatsnew/whatsnew23.tex b/Doc/whatsnew/whatsnew23.tex
index 2133060..1d2dc3e 100644
--- a/Doc/whatsnew/whatsnew23.tex
+++ b/Doc/whatsnew/whatsnew23.tex
@@ -2,7 +2,7 @@
% $Id$
\title{What's New in Python 2.3}
-\release{0.06}
+\release{0.07}
\author{A.M. Kuchling}
\authoraddress{\email{amk@amk.ca}}
@@ -717,9 +717,11 @@ Gordon McMillan's \module{iu} module. Three new items
are added to the \module{sys} module:
\begin{itemize}
- \item \code{sys.path_hooks} is a list of functions. Each function
-takes a string containing a path and returns either \code{None} or an
-importer object that will handle imports from this path.
+ \item \code{sys.path_hooks} is a list of callable objects; most
+often they'll be classes. Each callable takes a string containing
+a path and either returns an importer object that will handle imports
+from this path or raises an \exception{ImportError} exception if it
+can't handle this path.
\item \code{sys.path_importer_cache} caches importer objects for
each path, so \code{sys.path_hooks} will only need to be traversed
@@ -747,11 +749,16 @@ like this (simplified a bit; see \pep{302} for the full details):
for mp in sys.meta_path:
loader = mp(fullname)
if loader is not None:
- <module> = loader(fullname)
+ <module> = loader.load_module(fullname)
for path in sys.path:
for hook in sys.path_hooks:
- importer = hook(path)
+ try:
+ importer = hook(path)
+ except ImportError:
+ # ImportError, so try the other path hooks
+ pass
+ else:
if importer is not None:
loader = importer.find_module(fullname)
<module> = loader.load_module(fullname)
@@ -2014,9 +2021,9 @@ name.
The author would like to thank the following people for offering
suggestions, corrections and assistance with various drafts of this
article: Simon Brunning, Michael Chermside, Scott David Daniels,
-Fred~L. Drake, Jr., Kelly Gerber, Raymond Hettinger, Michael Hudson, Detlef Lannert,
-Martin von L\"owis, Andrew MacIntyre, Lalo Martins, Gustavo Niemeyer,
-Neal Norwitz, Chris Reedy, Vinay Sajip, Neil Schemenauer, Jason
-Tishler.
+Fred~L. Drake, Jr., Kelly Gerber, Raymond Hettinger, Michael Hudson,
+Detlef Lannert, Martin von L\"owis, Andrew MacIntyre, Lalo Martins,
+Gustavo Niemeyer, Neal Norwitz, Hans Nowak, Chris Reedy, Vinay Sajip,
+Neil Schemenauer, Jason Tishler, Just van~Rossum.
\end{document}