diff options
author | Éric Araujo <merwok@netwok.org> | 2012-02-15 16:13:26 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2012-02-15 16:13:26 (GMT) |
commit | 1d175f776836ef0106d06ff2f264635df125340e (patch) | |
tree | 0dcab83efe344871fd69ff20724f5edfc280ac9e | |
parent | 8b4d64f2564a44dadff0bd8f54f6591926044b1b (diff) | |
parent | ccddc474c3c7c664bec879deb41bb91aa5dab109 (diff) | |
download | cpython-1d175f776836ef0106d06ff2f264635df125340e.zip cpython-1d175f776836ef0106d06ff2f264635df125340e.tar.gz cpython-1d175f776836ef0106d06ff2f264635df125340e.tar.bz2 |
Merge fixes for #1326113 and #12297 from 3.2
-rw-r--r-- | Doc/library/atexit.rst | 17 | ||||
-rw-r--r-- | Lib/distutils/command/build_ext.py | 3 | ||||
-rw-r--r-- | Lib/distutils/tests/test_build_ext.py | 12 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
4 files changed, 19 insertions, 16 deletions
diff --git a/Doc/library/atexit.rst b/Doc/library/atexit.rst index c3bb04d..3d5c014 100644 --- a/Doc/library/atexit.rst +++ b/Doc/library/atexit.rst @@ -22,7 +22,8 @@ is detected, or when :func:`os._exit` is called. 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`. + :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 called. 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``. + This function returns *func*, which makes it possible to use it as a + decorator. .. function:: unregister(func) - Remove a function *func* from the list of functions to be run at interpreter- + 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. + 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. diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 8baf538..59d0cd2 100644 --- 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): - self.libraries = [self.libraries] + self.ensure_string_list('libraries') # Life is easier if we're not forever checking for None, so # simplify these options to empty lists if unset diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py index 1827437..87cceee 100644 --- 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' + cmd.libraries = 'my_lib, other_lib lastlib' cmd.finalize_options() - self.assertEqual(cmd.libraries, ['my_lib']) + self.assertEqual(cmd.libraries, ['my_lib', 'other_lib', 'lastlib']) # 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' + cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep cmd.finalize_options() - self.assertTrue('my_lib_dir' in cmd.library_dirs) + self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir']) # make sure rpath is turned into a list - # if it's a list of os.pathsep's paths + # if it's a string cmd = build_ext(dist) - cmd.rpath = os.pathsep.join(['one', 'two']) + cmd.rpath = 'one%stwo' % os.pathsep cmd.finalize_options() self.assertEqual(cmd.rpath, ['one', 'two']) @@ -472,6 +472,9 @@ Library - Issue #13015: Fix a possible reference leak in defaultdict.__repr__. Patch by Suman Saha. +- Issue #1326113: distutils' build_ext command --libraries option now + correctly parses multiple values separated by whitespace or commas. + - Issue #10287: nntplib now queries the server's CAPABILITIES first before sending MODE READER, and only sends it if not already in READER mode. Patch by Hynek Schlawack. |