[Python-checkins] r74375 - in python/branches/release31-maint: Doc/tutorial/inputoutput.rst Lib/inspect.py Lib/webbrowser.py Misc/build.sh Objects/dictobject.c Python/import.c

georg.brandl python-checkins at python.org
Thu Aug 13 10:37:59 CEST 2009


Author: georg.brandl
Date: Thu Aug 13 10:37:59 2009
New Revision: 74375
Log:
Merged revisions 74264 via svnmerge from 
svn+ssh://svn.python.org/python/branches/py3k
................
 r74264 | alexandre.vassalotti | 2009年07月29日 22:12:15 +0200 (Mi, 29 Jul 2009) | 32 lines
 
 Merged revisions 74075,74187,74197,74201,74216,74225 via svnmerge from 
 svn+ssh://pythondev@svn.python.org/python/trunk
 
 ........
 r74075 | georg.brandl | 2009年07月18日 05:06:31 -0400 (2009年7月18日) | 1 line
 
 #6505: fix typos.
 ........
 r74187 | benjamin.peterson | 2009年07月23日 10:19:08 -0400 (2009年7月23日) | 1 line
 
 use bools for autoraise
 ........
 r74197 | benjamin.peterson | 2009年07月24日 22:03:48 -0400 (2009年7月24日) | 1 line
 
 clarify
 ........
 r74201 | amaury.forgeotdarc | 2009年07月25日 12:22:06 -0400 (2009年7月25日) | 2 lines
 
 Better name a variable: 'buf' seems to imply a mutable buffer.
 ........
 r74216 | michael.foord | 2009年07月26日 17:12:14 -0400 (2009年7月26日) | 1 line
 
 Issue 6581. Michael Foord
 ........
 r74225 | kurt.kaiser | 2009年07月27日 12:09:28 -0400 (2009年7月27日) | 5 lines
 
 1. Clean workspace more thoughly before build.
 2. Add url of branch we are building to 'results' webpage.
 (url is now available in $repo_path, could be added to failure email.)
 3. Adjust permissions to improve upload reliability.
 ........
................
Modified:
 python/branches/release31-maint/ (props changed)
 python/branches/release31-maint/Doc/tutorial/inputoutput.rst
 python/branches/release31-maint/Lib/inspect.py
 python/branches/release31-maint/Lib/webbrowser.py
 python/branches/release31-maint/Misc/build.sh
 python/branches/release31-maint/Objects/dictobject.c
 python/branches/release31-maint/Python/import.c
Modified: python/branches/release31-maint/Doc/tutorial/inputoutput.rst
==============================================================================
--- python/branches/release31-maint/Doc/tutorial/inputoutput.rst	(original)
+++ python/branches/release31-maint/Doc/tutorial/inputoutput.rst	Thu Aug 13 10:37:59 2009
@@ -152,9 +152,9 @@
 other='Georg'))
 The story of Bill, Manfred, and Georg.
 
-An optional ``':'`` and format specifier can follow the field name. This also
+An optional ``':'`` and format specifier can follow the field name. This allows
 greater control over how the value is formatted. The following example
-truncates the Pi to three places after the decimal.
+truncates Pi to three places after the decimal.
 
 >>> import math
 >>> print('The value of PI is approximately {0:.3f}.'.format(math.pi))
@@ -208,8 +208,8 @@
 The value of PI is approximately 3.142.
 
 Since :meth:`str.format` is quite new, a lot of Python code still uses the ``%``
-operator. However, because this old style of formatting will eventually removed
-from the language :meth:`str.format` should generally be used.
+operator. However, because this old style of formatting will eventually be
+removed from the language, :meth:`str.format` should generally be used.
 
 More information can be found in the :ref:`old-string-formatting` section.
 
Modified: python/branches/release31-maint/Lib/inspect.py
==============================================================================
--- python/branches/release31-maint/Lib/inspect.py	(original)
+++ python/branches/release31-maint/Lib/inspect.py	Thu Aug 13 10:37:59 2009
@@ -990,7 +990,10 @@
 tb = tb.tb_next
 return framelist
 
-currentframe = sys._getframe
+if hasattr(sys, '_getframe'):
+ currentframe = sys._getframe
+else:
+ currentframe = lambda _=None: None
 
 def stack(context=1):
 """Return a list of records for the stack above the caller's frame."""
Modified: python/branches/release31-maint/Lib/webbrowser.py
==============================================================================
--- python/branches/release31-maint/Lib/webbrowser.py	(original)
+++ python/branches/release31-maint/Lib/webbrowser.py	Thu Aug 13 10:37:59 2009
@@ -56,7 +56,7 @@
 # It is recommended one does "import webbrowser" and uses webbrowser.open(url)
 # instead of "from webbrowser import *".
 
-def open(url, new=0, autoraise=1):
+def open(url, new=0, autoraise=True):
 for name in _tryorder:
 browser = get(name)
 if browser.open(url, new, autoraise):
@@ -145,7 +145,7 @@
 self.name = name
 self.basename = name
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 raise NotImplementedError
 
 def open_new(self, url):
@@ -169,7 +169,7 @@
 self.args = name[1:]
 self.basename = os.path.basename(self.name)
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 cmdline = [self.name] + [arg.replace("%s", url)
 for arg in self.args]
 try:
@@ -186,7 +186,7 @@
 """Class for all browsers which are to be started in the
 background."""
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 cmdline = [self.name] + [arg.replace("%s", url)
 for arg in self.args]
 try:
@@ -217,7 +217,7 @@
 raise_opt = []
 if remote and self.raise_opts:
 # use autoraise argument only for remote invocation
- autoraise = int(bool(autoraise))
+ autoraise = int(autoraise)
 opt = self.raise_opts[autoraise]
 if opt: raise_opt = [opt]
 
@@ -257,7 +257,7 @@
 else:
 return not p.wait()
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 if new == 0:
 action = self.remote_action
 elif new == 1:
@@ -341,7 +341,7 @@
 for more information on the Konqueror remote-control interface.
 """
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 # XXX Currently I know no way to prevent KFM from opening a new win.
 if new == 2:
 action = "newTab"
@@ -429,7 +429,7 @@
 s.close()
 return 1
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 if new:
 ok = self._remote("LOADNEW " + url)
 else:
@@ -512,7 +512,7 @@
 
 if sys.platform[:3] == "win":
 class WindowsDefault(BaseBrowser):
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 try:
 os.startfile(url)
 except WindowsError:
@@ -546,7 +546,7 @@
 pass
 else:
 class InternetConfig(BaseBrowser):
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 ic.launchurl(url)
 return True # Any way to get status?
 
@@ -567,7 +567,7 @@
 def __init__(self, name):
 self.name = name
 
- def open(self, url, new=0, autoraise=1):
+ def open(self, url, new=0, autoraise=True):
 assert "'" not in url
 # hack for local urls
 if not ':' in url:
Modified: python/branches/release31-maint/Misc/build.sh
==============================================================================
--- python/branches/release31-maint/Misc/build.sh	(original)
+++ python/branches/release31-maint/Misc/build.sh	Thu Aug 13 10:37:59 2009
@@ -4,9 +4,11 @@
 ## does this:
 ## svn up ; ./configure ; make ; make test ; make install ; cd Doc ; make
 ##
-## Logs are kept and rsync'ed to the host. If there are test failure(s),
+## Logs are kept and rsync'ed to the webhost. If there are test failure(s),
 ## information about the failure(s) is mailed.
 ##
+## The user must be a member of the webmaster group locally and on webhost.
+##
 ## This script is run on the PSF's machine as user neal via crontab.
 ##
 ## Yes, this script would probably be easier in python, but then
@@ -76,7 +78,8 @@
 # Skip these tests altogether when looking for leaks. These tests
 # do not need to be stored above in LEAKY_TESTS too.
 # test_logging causes hangs, skip it.
-LEAKY_SKIPS="-x test_logging $_ALWAYS_SKIP"
+# KBK 21Apr09: test_httpservers causes hangs, skip for now.
+LEAKY_SKIPS="-x test_compiler test_logging test_httpservers"
 
 # Change this flag to "yes" for old releases to only update/build the docs.
 BUILD_DISABLED="no"
@@ -133,9 +136,14 @@
 
 ## setup
 cd $DIR
+make clobber /dev/null 2>&1
+cp -p Modules/Setup.dist Modules/Setup
+# But maybe there was no Makefile - we are only building docs. Clear build:
+rm -rf build/
 mkdir -p build
-rm -f $RESULT_FILE build/*.out
 rm -rf $INSTALL_DIR
+## get the path we are building
+repo_path=$(grep "url=" .svn/entries | sed -e s/\\W*url=// -e s/\"//g)
 
 ## create results file
 TITLE="Automated Python Build Results"
@@ -153,6 +161,8 @@
 echo " <td>Hostname:</td><td>`uname -n`</td>" >> $RESULT_FILE
 echo " </tr><tr>" >> $RESULT_FILE
 echo " <td>Platform:</td><td>`uname -srmpo`</td>" >> $RESULT_FILE
+echo " </tr><tr>" >> $RESULT_FILE
+echo " <td>URL:</td><td>$repo_path</td>" >> $RESULT_FILE
 echo " </tr>" >> $RESULT_FILE
 echo "</table>" >> $RESULT_FILE
 echo "<ul>" >> $RESULT_FILE
@@ -223,7 +233,7 @@
 start=`current_time`
 ## ensure that the reflog exists so the grep doesn't fail
 touch $REFLOG
- $PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network,urlfetch $LEAKY_SKIPS >& build/$F
+ $PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F
 LEAK_PAT="($LEAKY_TESTS|sum=0)"
 NUM_FAILURES=`egrep -vc "$LEAK_PAT" $REFLOG`
 place_summary_first build/$F
@@ -259,13 +269,13 @@
 # which will definitely fail with a conflict. 
 #CONFLICTED_FILE=commontex/boilerplate.tex
 #conflict_count=`grep -c "<<<" $CONFLICTED_FILE`
-make clean
 conflict_count=0
 if [ $conflict_count != 0 ]; then
 echo "Conflict detected in $CONFLICTED_FILE. Doc build skipped." > ../build/$F
 err=1
 else
- make checkout update html >& ../build/$F
+ make clean > ../build/$F 2>&1
+ make checkout update html >> ../build/$F 2>&1
 err=$?
 fi
 update_status "Making doc" "$F" $start
@@ -279,6 +289,8 @@
 echo "</html>" >> $RESULT_FILE
 
 ## copy results
+chgrp -R webmaster build/html
+chmod -R g+w build/html
 rsync $RSYNC_OPTS build/html/* $REMOTE_SYSTEM:$REMOTE_DIR
 cd ../build
 rsync $RSYNC_OPTS index.html *.out $REMOTE_SYSTEM:$REMOTE_DIR/results/
Modified: python/branches/release31-maint/Objects/dictobject.c
==============================================================================
--- python/branches/release31-maint/Objects/dictobject.c	(original)
+++ python/branches/release31-maint/Objects/dictobject.c	Thu Aug 13 10:37:59 2009
@@ -718,7 +718,7 @@
 	 running "python -Wi" for an example related to string interning.
 	 Let's just hope that no exception occurs then... This must be
 	 _PyThreadState_Current and not PyThreadState_GET() because in debug
-	 mode, it complains if tstate is NULL. */
+	 mode, the latter complains if tstate is NULL. */
 	tstate = _PyThreadState_Current;
 	if (tstate != NULL && tstate->curexc_type != NULL) {
 		/* preserve the existing exception */
Modified: python/branches/release31-maint/Python/import.c
==============================================================================
--- python/branches/release31-maint/Python/import.c	(original)
+++ python/branches/release31-maint/Python/import.c	Thu Aug 13 10:37:59 2009
@@ -1782,7 +1782,7 @@
 its module object WITH INCREMENTED REFERENCE COUNT */
 
 static PyObject *
-load_module(char *name, FILE *fp, char *buf, int type, PyObject *loader)
+load_module(char *name, FILE *fp, char *pathname, int type, PyObject *loader)
 {
 	PyObject *modules;
 	PyObject *m;
@@ -1803,27 +1803,27 @@
 	switch (type) {
 
 	case PY_SOURCE:
-		m = load_source_module(name, buf, fp);
+		m = load_source_module(name, pathname, fp);
 		break;
 
 	case PY_COMPILED:
-		m = load_compiled_module(name, buf, fp);
+		m = load_compiled_module(name, pathname, fp);
 		break;
 
 #ifdef HAVE_DYNAMIC_LOADING
 	case C_EXTENSION:
-		m = _PyImport_LoadDynamicModule(name, buf, fp);
+		m = _PyImport_LoadDynamicModule(name, pathname, fp);
 		break;
 #endif
 
 	case PKG_DIRECTORY:
-		m = load_package(name, buf);
+		m = load_package(name, pathname);
 		break;
 
 	case C_BUILTIN:
 	case PY_FROZEN:
-		if (buf != NULL && buf[0] != '0円')
-			name = buf;
+		if (pathname != NULL && pathname[0] != '0円')
+			name = pathname;
 		if (type == C_BUILTIN)
 			err = init_builtin(name);
 		else


More information about the Python-checkins mailing list

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