]> granicus.if.org Git - python/commitdiff
- Issue #15906: Fix a regression in argparse caused by the preceding change,
authorBarry Warsaw <barry@python.org>
Wed, 12 Sep 2012 04:12:29 +0000 (00:12 -0400)
committerBarry Warsaw <barry@python.org>
Wed, 12 Sep 2012 04:12:29 +0000 (00:12 -0400)
  when action='append', type='str' and default=[].

1  2 
Lib/argparse.py
Lib/test/test_argparse.py
Misc/NEWS

diff --cc Lib/argparse.py
index d5976e9f4face91803ee91090043fb9408983387,fba6a262f525655d29a1ebe88d5680904acad3f7..66cd70aa315aa5cc5d50b9def978a9a68a25a144
@@@ -1961,8 -1957,9 +1961,9 @@@ class ArgumentParser(_AttributeHolder, 
                      # twice (which may fail) if the argument was given, but
                      # only if it was defined already in the namespace
                      if (action.default is not None and
 -                            isinstance(action, _StoreAction) and
 -                            hasattr(namespace, action.dest) and
 -                            action.default is getattr(namespace, action.dest)):
++                        isinstance(action, _StoreAction) and
 +                        hasattr(namespace, action.dest) and
 +                        action.default is getattr(namespace, action.dest)):
                          setattr(namespace, action.dest,
                                  self._get_value(action, action.default))
  
Simple merge
diff --cc Misc/NEWS
index fabb36e372364f93df5f356b74cafc6e7145b187,24c6b7121d5d27a32764f797a442e4c5e7454f9b..993bc11b0f7b6b12a6d18a8da3450306dfb7d7e5
+++ b/Misc/NEWS
@@@ -24,95 -21,101 +24,98 @@@ Core and Builtin
  - Issue #15801: Make sure mappings passed to '%' formatting are actually
    subscriptable.
  
 -- Issue #15726: Fix incorrect bounds checking in PyState_FindModule.
 -  Patch by Robin Schreiber.
 -
 -- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle
 -  errors correctly.  Patch by Serhiy Storchaka.
 +Library
 +-------
  
 -- Issue #13119: sys.stdout and sys.stderr are now using "\r\n" newline on
 -  Windows, as Python 2.
 +- Issue #15882: Change _decimal to accept any coefficient tuple when
 +  constructing infinities. This is done for backwards compatibility
 +  with decimal.py: Infinity coefficients are undefined in _decimal
 +  (in accordance with the specification).
  
 -- Issue #14579: Fix CVE-2012-2135: vulnerability in the utf-16 decoder after
 -  error handling.  Patch by Serhiy Storchaka.
 +- Issue #15876: Fix a refleak in the curses module: window.encoding.
  
 -- Issue #15404: Refleak in PyMethodObject repr.
 +- Issue #15881: Fixed atexit hook in multiprocessing.  Original patch
 +  by Chris McDonough.
  
 -- Issue #15394: An issue in PyModule_Create that caused references to
 -  be leaked on some error paths has been fixed.  Patch by Julia Lawall.
 +- Issue #15340: Fix importing the random module when /dev/urandom cannot
 +  be opened.  This was a regression caused by the hash randomization patch.
  
 -- Issue #15368: An issue that caused bytecode generation to be
 -  non-deterministic when using randomized hashing (-R) has been fixed.
 +- Issue #15841: The readable(), writable() and seekable() methods of BytesIO
 +  and StringIO objects now raise ValueError when the object has been closed.
 +  Patch by Alessandro Moura.
  
 -- Issue #15020: The program name used to search for Python's path is now
 -  "python3" under Unix, not "python".
 +- Issue #15447: Use subprocess.DEVNULL in webbrowser, instead of opening
 +  os.devnull explicitly and leaving it open.
  
 -- Issue #15033: Fix the exit status bug when modules invoked using -m swith,
 -  return the proper failure return value (1). Patch contributed by Jeff Knupp.
 +- Issue #15509: webbrowser.UnixBrowser no longer passes empty arguments to
 +  Popen when %action substitutions produce empty strings.
  
 -- Issue #12268: File readline, readlines and read() or readall() methods
 -  no longer lose data when an underlying read system call is interrupted.
 -  IOError is no longer raised due to a read system call returning EINTR
 -  from within these methods.
 +- Issue #12776,#11839: call argparse type function (specified by add_argument)
 +  only once. Before, the type function was called twice in the case where the
 +  default was specified and the argument was given as well.  This was
 +  especially problematic for the FileType type, as a default file would always
 +  be opened, even if a file argument was specified on the command line.
  
 -- Issue #15142: Fix reference leak when deallocating instances of types
 -  created using PyType_FromSpec().
++- Issue #15906: Fix a regression in argparse caused by the preceding change,
++  when action='append', type='str' and default=[].
 -- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on
 -  the work by Hirokazu Yamamoto.
 +Extension Modules
 +-----------------
  
 -- Issue #14775: Fix a potential quadratic dict build-up due to the garbage
 -  collector repeatedly trying to untrack dicts.
 +Tests
 +-----
  
 -- Issue #14494: Fix __future__.py and its documentation to note that
 -  absolute imports are the default behavior in 3.0 instead of 2.7.
 -  Patch by Sven Marnach.
 +- Issue #15802: Fix test logic in TestMaildir.test_create_tmp. Patch
 +  by Serhiy Storchaka.
  
 -- Issue #14761: Fix potential leak on an error case in the import machinery.
 +- Issue #15557: Added a test suite for the webbrowser module, thanks
 +  to Anton Barkovsky.
  
 -- Issue #14699: Fix calling the classmethod descriptor directly.
 +Build
 +-----
  
 -- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin
 -  is closed.
 +- Issue #15819: Make sure we can build Python out-of-tree from a readonly
 +  source directory.  (Somewhat related to Issue #9860.)
  
 -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError
 -  when repr() or str() is called on such an object.
 +Documentation
 +-------------
  
 -- Issue #14658: Fix binding a special method to a builtin implementation of a
 -  special method with a different name.
 +- Issue #11964: Document a change in v3.2 to the behavior of the indent
 +  parameter of json encoding operations.
  
 -- Issue #14630: Fix a memory access bug for instances of a subclass of int
 -  with value 0.
 +Tools/Demos
 +-----------
  
 -- Issue #14612: Fix jumping around with blocks by setting f_lineno.
  
 -- Issue #14607: Fix keyword-only arguments which started with ``__``.
 +What's New in Python 3.3.0?
 +===========================
  
 -- Issue #13889: Check and (if necessary) set FPU control word before calling
 -  any of the dtoa.c string <-> float conversion functions, on MSVC builds of
 -  Python.  This fixes issues when embedding Python in a Delphi app.
 +*Release date: XX-Sep-2012*
  
 -- Issue #14474: Save and restore exception state in thread.start_new_thread()
 -  while writing error message if the thread leaves a unhandled exception.
 +Core and Builtins
 +-----------------
  
 -- Issue #13019: Fix potential reference leaks in bytearray.extend().  Patch
 -  by Suman Saha.
 +Library
 +-------
  
 -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as
 -  the module name that was not interned.
  
 -- Issue #14331: Use significantly less stack space when importing modules by
 -  allocating path buffers on the heap instead of the stack.
 +What's New in Python 3.3.0 Release Candidate 2?
 +===============================================
  
 -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not
 -  passed strings.
 +*Release date: 09-Sep-2012*
  
 -- Issue #1469629: Allow cycles through an object's __dict__ slot to be
 -  collected. (For example if ``x.__dict__ is x``).
 +Core and Builtins
 +-----------------
  
 -- Issue #14172: Fix reference leak when marshalling a buffer-like object
 -  (other than a bytes object).
 +- Issue #13992: The trashcan mechanism is now thread-safe.  This eliminates
 +  sporadic crashes in multi-thread programs when several long deallocator
 +  chains ran concurrently and involved subclasses of built-in container
 +  types.
  
 -- Issue #13521: dict.setdefault() now does only one lookup for the given key,
 -  making it "atomic" for many purposes.  Patch by Filip GruszczyƄski.
 +- Issue #15784: Modify OSError.__str__() to better distinguish between
 +  errno error numbers and Windows error numbers.
  
 -- Issue #14471: Fix a possible buffer overrun in the winreg module.
 +- Issue #15781: Fix two small race conditions in import's module locking.
  
  Library
  -------