cpython: f7163afecb97 (original) (raw)
Mercurial > cpython
changeset 74949:f7163afecb97
Merge fixes for #1326113 and #12297 from 3.2 [#1326113]
Éric Araujo merwok@netwok.org | |
---|---|
date | Wed, 15 Feb 2012 17:13:26 +0100 |
parents | 491f909f19fb(current diff)55fc092dad72(diff) |
children | 4ba43318e56b |
files | Doc/library/atexit.rst Lib/distutils/command/build_ext.py Lib/distutils/tests/test_build_ext.py Misc/NEWS |
diffstat | 4 files changed, 19 insertions(+), 16 deletions(-)[+] [-] Doc/library/atexit.rst 17 Lib/distutils/command/build_ext.py 3 Lib/distutils/tests/test_build_ext.py 12 Misc/NEWS 3 |
line wrap: on
line diff
--- a/Doc/library/atexit.rst
+++ b/Doc/library/atexit.rst
@@ -22,7 +22,8 @@ is detected, or when :func:os._exit
is
Register func as a function to be executed at termination. Any optional
arguments that are to be passed to func must be passed as arguments to
- :func:
register
. It is possible to register the same function and arguments - more than once.
At normal program termination (for instance, if :func:
sys.exit
is called or the main module's execution completes), all functions registered are called in @@ -35,15 +36,17 @@ is detected, or when :func:os._exit
is saved. After all exit handlers have had a chance to run the last exception to be raised is re-raised.
- This function returns func which makes it possible to use it as a decorator
- without binding the original name to
None
.
.. function:: unregister(func)
- Remove func from the list of functions to be run at interpreter
shutdown. After calling :func:
unregister
, func is guaranteed not to be
- called when the interpreter shuts down, even if it was registered more than
- once. :func:
unregister
silently does nothing if func was not previously - registered.
.. seealso::
@@ -100,6 +103,4 @@ Usage as a :term:decorator
::
def goodbye():
print("You are now leaving the Python sector.")
-This obviously only works with functions that don't take arguments.
-
-
+This only works with functions that can be called without arguments.
--- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -165,8 +165,7 @@ class build_ext(Command): if plat_py_include != py_include: self.include_dirs.append(plat_py_include)
if isinstance(self.libraries, str):[](#l2.7)
self.libraries = [self.libraries][](#l2.8)
self.ensure_string_list('libraries')[](#l2.9)
# Life is easier if we're not forever checking for None, so # simplify these options to empty lists if unset
--- a/Lib/distutils/tests/test_build_ext.py +++ b/Lib/distutils/tests/test_build_ext.py @@ -178,21 +178,21 @@ class BuildExtTestCase(TempdirManager, # make sure cmd.libraries is turned into a list # if it's a string cmd = build_ext(dist)
cmd.libraries = 'my_lib'[](#l3.7)
cmd.libraries = 'my_lib, other_lib lastlib'[](#l3.8) cmd.finalize_options()[](#l3.9)
self.assertEqual(cmd.libraries, ['my_lib'])[](#l3.10)
self.assertEqual(cmd.libraries, ['my_lib', 'other_lib', 'lastlib'])[](#l3.11)
# make sure cmd.library_dirs is turned into a list # if it's a string cmd = build_ext(dist)
cmd.library_dirs = 'my_lib_dir'[](#l3.16)
cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep[](#l3.17) cmd.finalize_options()[](#l3.18)
self.assertTrue('my_lib_dir' in cmd.library_dirs)[](#l3.19)
self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir'])[](#l3.20)
# make sure rpath is turned into a list
# if it's a list of os.pathsep's paths[](#l3.23)
# if it's a string[](#l3.24) cmd = build_ext(dist)[](#l3.25)
cmd.rpath = os.pathsep.join(['one', 'two'])[](#l3.26)
cmd.rpath = 'one%stwo' % os.pathsep[](#l3.27) cmd.finalize_options()[](#l3.28) self.assertEqual(cmd.rpath, ['one', 'two'])[](#l3.29)