]> granicus.if.org Git - python/commitdiff
(merge) Fix #10154 and #10090: locale normalizes the UTF-8 encoding to "UTF-8" instea...
authorRonald Oussoren <ronaldoussoren@mac.com>
Tue, 17 May 2011 11:03:54 +0000 (13:03 +0200)
committerRonald Oussoren <ronaldoussoren@mac.com>
Tue, 17 May 2011 11:03:54 +0000 (13:03 +0200)
On MacOSX and OpenBSD (and possibly other BSDs) "en_US.UTF-8" is a valid locale
while "en_US.UTF8" is not. As the former works on Linux as well it is better
to normalize to that value.

1  2 
Lib/locale.py
Misc/NEWS

diff --cc Lib/locale.py
Simple merge
diff --cc Misc/NEWS
index e31d8b87e0a5cfd227ace58ff0cba5c374ce3cd7,8f994b9cee75e449f384a63cff72c2e860f6c02b..7db72e77696a56888831833f9f49e3a6adb01b1e
+++ b/Misc/NEWS
@@@ -492,400 -376,15 +492,403 @@@ Buil
  
  - Issue #941346: Fix broken shared library build on AIX.
  
 -- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
 -  the configure script but use $GREP instead.  Patch by Fabian Groffen.
 +Documentation
 +-------------
  
 -- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
 -  and DragonFly BSD.  Patch by Nicolas Joly.
 +- Issue #10709: Add updated AIX notes in Misc/README.AIX.
  
 -- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
 -  timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
 -  support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
 +
 +What's New in Python 3.2 Release Candidate 3?
 +=============================================
 +
 +*Release date: 13-Feb-2011*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #11134: Add missing fields to typeslots.h.
 +
 +- Issue #11135: Remove redundant doc field from PyType_Spec.
 +
 +- Issue #11067: Add PyType_GetFlags, to support PyUnicode_Check in the limited
 +  ABI.
 +
 +- Issue #11118: Fix bogus export of None in python3.dll.
 +
 +Library
 +-------
 +
 +- Issue #11116: any error during addition of a message to a mailbox now causes a
 +  rollback, instead of leaving the mailbox partially modified.
 +
 +- Issue #11132: Fix passing of "optimize" parameter when recursing in
 +  compileall.compile_dir().
 +
 +- Issue #11110: Fix a potential decref of a NULL in sqlite3.
 +
 +- Issue #8275: Fix passing of callback arguments with ctypes under Win64.  Patch
 +  by Stan Mihai.
 +
 +Build
 +-----
 +
 +- Issue #11079: The /Applications/Python x.x folder created by the Mac OS X
 +  installers now includes a link to the installed documentation and no longer
 +  includes an Extras directory.  The Tools directory is now installed in the
 +  framework under share/doc.
 +
 +- Issue #11121: Fix building with --enable-shared.
 +
 +Tests
 +-----
 +
 +- Issue #10971: test_zipimport_support is once again compatible with the refleak
 +  hunter feature of test.regrtest.
 +
 +
 +What's New in Python 3.2 Release Candidate 2?
 +=============================================
 +
 +*Release date: 30-Jan-2011*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #10451: memoryview objects could allow to mutate a readable buffer.
 +  Initial patch by Ross Lagerwall.
 +
 +Library
 +-------
 +
 +- Issue #9124: mailbox now accepts binary input and reads and writes mailbox
 +  files in binary mode, using the email package's binary support to parse
 +  arbitrary email messages.  StringIO and text file input is deprecated,
 +  and string input fails early if non-ASCII characters are used, where
 +  previously it would fail when the email was processed in a later step.
 +
 +- Issue #10845: Mitigate the incompatibility between the multiprocessing
 +  module on Windows and the use of package, zipfile or directory execution
 +  by special casing main modules that actually *are* called __main__.py.
 +
 +- Issue #11045: Protect logging call against None argument.
 +
 +- Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save
 +  commands.
 +
 +- Issue #11053: Fix IDLE "Syntax Error" windows to behave as in 2.x,
 +  preventing a confusing hung appearance on OS X with the windows
 +  obscured.
 +
 +- Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the
 +  menu accelerators for Open Module, Go to Line, and New Indent Width.
 +  The accelerators still work but no longer appear in the menu items.
 +
 +- Issue #10989: Fix a crash on SSLContext.load_verify_locations(None, True).
 +
 +- Issue #11020: Command-line pyclbr was broken because of missing 2-to-3
 +  conversion.
 +
 +- Issue #11019: Fixed BytesGenerator so that it correctly handles a Message
 +  with a None body.
 +
 +- Issue #11014: Make 'filter' argument in tarfile.Tarfile.add() into a
 +  keyword-only argument.  The preceding positional argument was deprecated,
 +  so it made no sense to add filter as a positional argument.
 +
 +- Issue #11004: Repaired edge case in deque.count().
 +
 +- Issue #10974: IDLE no longer crashes if its recent files list includes files
 +  with non-ASCII characters in their path names.
 +
 +- Have hashlib.algorithms_available and hashlib.algorithms_guaranteed both
 +  return sets instead of one returning a tuple and the other a frozenset.
 +
 +- Issue #10987: Fix the recursion limit handling in the _pickle module.
 +
 +- Issue #10983: Fix several bugs making tunnel requests in http.client.
 +
 +- Issue #10955: zipimport uses ASCII encoding instead of cp437 to decode
 +  filenames, at bootstrap, if the codec registry is not ready yet. It is still
 +  possible to have non-ASCII filenames using the Unicode flag (UTF-8 encoding)
 +  for all file entries in the ZIP file.
 +
 +- Issue #10949: Improved robustness of rotating file handlers.
 +
 +- Issue #10955: Fix a potential crash when trying to mmap() a file past its
 +  length.  Initial patch by Ross Lagerwall.
 +
 +- Issue #10898: Allow compiling the posix module when the C library defines
 +  a symbol named FSTAT.
 +
 +- Issue #10980: the HTTP server now encodes headers with iso-8859-1 (latin1)
 +  encoding.  This is the preferred encoding of PEP 3333 and the base encoding
 +  of HTTP 1.1.
 +
 +- To match the behaviour of HTTP server, the HTTP client library now also
 +  encodes headers with iso-8859-1 (latin1) encoding.  It was already doing
 +  that for incoming headers which makes this behaviour now consistent in
 +  both incoming and outgoing direction.
 +
 +- Issue #9509: argparse now properly handles IOErrors raised by
 +  argparse.FileType.
 +
 +- Issue #10961: The new pydoc server now better handles exceptions raised
 +  during request handling.
 +
 +- Issue #10680: Fix mutually exclusive arguments for argument groups in
 +  argparse.
 +
 +Build
 +-----
 +
 +- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
 +  the system-provided Python.
 +
 +
 +What's New in Python 3.2 Release Candidate 1
 +============================================
 +
 +*Release date: 16-Jan-2011*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #10889: range indexing and slicing now works correctly on ranges with
 +  a length that exceeds sys.maxsize.
 +
 +- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
 +  class.
 +
 +- Issue #8020: Avoid a crash where the small objects allocator would read
 +  non-Python managed memory while it is being modified by another thread.  Patch
 +  by Matt Bandy.
 +
 +- Issue #10841: On Windows, set the binary mode on stdin, stdout, stderr and all
 +  io.FileIO objects (to not translate newlines, \r\n <=> \n).  The Python parser
 +  translates newlines (\r\n => \n).
 +
 +- Remove buffer API from stable ABI for now, see #10181.
 +
 +- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
 +  doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
 +  (length bigger than 2^31-1 bytes).
 +
 +- Issue #9015, #9611: FileIO.readinto(), FileIO.write(), os.write() and
 +  stdprinter.write() clamp the length to 2^31-1 on Windows.
 +
 +- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
 +  can now handle dates after 2038.
 +
 +- Issue #10780: PyErr_SetFromWindowsErrWithFilename() and
 +  PyErr_SetExcFromWindowsErrWithFilename() decode the filename from the
 +  filesystem encoding instead of UTF-8.
 +
 +- Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem
 +  encoding instead of UTF-8.
 +
 +- Add sys.flags attribute for the new -q command-line option.
 +
 +- Issue #11506: Trying to assign to a bytes literal should result in a
 +  SyntaxError.
 +
 +Library
 +-------
 +
 +- Issue #10916: mmap should not segfault when a file is mapped using 0 as length
 +  and a non-zero offset, and an attempt to read past the end of file is made
 +  (IndexError is raised instead).  Patch by Ross Lagerwall.
 +
++- Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" instead
++  of "UTF8" in the locale module as the latter is not supported MacOSX and OpenBSD.
++
 +- Issue #10684: shutil.move used to delete a folder on case insensitive
 +  filesystems when the source and destination name where the same except
 +  for the case.
 +
 +- Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather
 +  than the currently problematic Apple-supplied one, when running with the
 +  64-/32-bit installer variant.
 +
 +- Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not
 +  as unicode, and accept binary files. Add encoding and errors attributes to
 +  cgi.FieldStorage. Patch written by Pierre Quentel (with many inputs by Glenn
 +  Linderman).
 +
 +- Add encoding and errors arguments to urllib.parse_qs() and urllib.parse_qsl().
 +
 +- Issue #10899: No function type annotations in the standard library.  Removed
 +  function type annotations from _pyio.py.
 +
 +- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
 +
 +- Issue #10872: The repr() of TextIOWrapper objects now includes the mode
 +  if available.
 +
 +- Issue #10869: Fixed bug where ast.increment_lineno modified the root node
 +  twice.
 +
 +- Issue #5871: email.header.Header.encode now raises an error if any
 +  continuation line in the formatted value has no leading white space and looks
 +  like a header.  Since Generator uses Header to format all headers, this check
 +  is made for all headers in any serialized message at serialization time.  This
 +  provides protection against header injection attacks.
 +
 +- Issue #10859: Make ``contextlib.GeneratorContextManager`` officially
 +  private by renaming it to ``_GeneratorContextManager``.
 +
 +- Issue #10042: Fixed the total_ordering decorator to handle cross-type
 +  comparisons that could lead to infinite recursion.
 +
 +- Issue #10686: the email package now :rfc:`2047`\ -encodes headers with
 +  non-ASCII bytes (parsed by a Bytes Parser) when doing conversion to 7bit-clean
 +  presentation, instead of replacing them with ?s.
 +
 +- email.header.Header was incorrectly encoding folding white space when
 +  rfc2047-encoding header values with embedded newlines, leaving them without
 +  folding whitespace.  It now uses the continuation_ws, as it does for
 +  continuation lines that it creates itself.
 +
 +- Issue #1777412, #10827: Changed the rules for 2-digit years. The
 +  time.asctime(), time.ctime() and time.strftime() functions will now format
 +  any year when ``time.accept2dyear`` is False and will accept years >= 1000
 +  otherwise. ``time.mktime`` and ``time.strftime`` now accept full range
 +  supported by the OS. With Visual Studio or on Solaris, the year is limited to
 +  the range [1; 9999]. Conversion of 2-digit years to 4-digit is deprecated.
 +
 +- Issue #7858: Raise an error properly when os.utime() fails under Windows
 +  on an existing file.
 +
 +- Issue #3839: wsgiref should not override a Content-Length header set by
 +  the application.  Initial patch by Clovis Fabricio.
 +
 +- Issue #10492: bdb.Bdb.run() only traces the execution of the code, not the
 +  compilation (if the input is a string).
 +
 +- Issue #7995: When calling accept() on a socket with a timeout, the returned
 +  socket is now always blocking, regardless of the operating system.
 +
 +- Issue #10756: atexit normalizes the exception before displaying it. Patch by
 +  Andreas Stührk.
 +
 +- Issue #10790: email.header.Header.append's charset logic now works correctly
 +  for charsets whose output codec is different from its input codec.
 +
 +- Issue #10819: SocketIO.name property returns -1 when its closed, instead of
 +  raising a ValueError, to fix repr().
 +
 +- Issue #8650: zlib.compress() and zlib.decompress() raise an OverflowError if
 +  the input buffer length doesn't fit into an unsigned int (length bigger than
 +  2^32-1 bytes).
 +
 +- Issue #6643: Reinitialize locks held within the threading module after fork to
 +  avoid a potential rare deadlock or crash on some platforms.
 +
 +- Issue #10806, issue #9905: Fix subprocess pipes when some of the standard file
 +  descriptors (0, 1, 2) are closed in the parent process.  Initial patch by Ross
 +  Lagerwall.
 +
 +- `unittest.TestCase` can be instantiated without a method name; for simpler
 +  exploration from the interactive interpreter.
 +
 +- Issue #10798: Reject supporting concurrent.futures if the system has too
 +  few POSIX semaphores.
 +
 +- Issue #10807: Remove base64, bz2, hex, quopri, rot13, uu and zlib codecs from
 +  the codec aliases. They are still accessible via codecs.lookup().
 +
 +- Issue #10801: In zipfile, support different encodings for the header and the
 +  filenames.
 +
 +- Issue #6285: IDLE no longer crashes on missing help file; patch by Scott
 +  David Daniels.
 +
 +- Fix collections.OrderedDict.setdefault() so that it works in subclasses that
 +  define __missing__().
 +
 +- Issue #10786: unittest.TextTestRunner default stream no longer bound at import
 +  time. `sys.stderr` now looked up at instantiation time.  Fix contributed by
 +  Mark Roddy.
 +
 +- Issue #10753: Characters ';', '=' and ',' in the PATH_INFO environment variable
 +  won't be quoted when the URI is constructed by the wsgiref.util's request_uri
 +  method. According to RFC 3986, these characters can be a part of params in
 +  PATH component of URI and need not be quoted.
 +
 +- Issue #10738: Fix webbrowser.Opera.raise_opts.
 +
 +- Issue #9824: SimpleCookie now encodes , and ; in values to cater to how
 +  browsers actually parse cookies.
 +
 +- Issue #9333: os.symlink now available regardless of user privileges.  The
 +  function now raises OSError on Windows >=6.0 when the user is unable to create
 +  symbolic links. XP and 2003 still raise NotImplementedError.
 +
 +- Issue #10783: struct.pack() no longer implicitly encodes unicode to UTF-8.
 +
 +- Issue #10730: Add SVG mime types to mimetypes module.
 +
 +- Issue #10768: Make the Tkinter ScrolledText widget work again.
 +
 +- Issue #10777: Fix "dictionary changed size during iteration" bug in
 +  ElementTree register_namespace().
 +
 +- Issue #10626: test_logging now preserves logger disabled states.
 +
 +- Issue #10774: test_logging now removes temp files created during tests.
 +
 +- Issue #5258/#10642: if site.py encounters a .pth file that generates an error,
 +  it now prints the filename, line number, and traceback to stderr and skips
 +  the rest of that individual file, instead of stopping processing entirely.
 +
 +- Issue #10763: subprocess.communicate() closes stdout and stderr if both are
 +  pipes (bug specific to Windows).
 +
 +- Issue #1693546: fix email.message RFC 2231 parameter encoding to be in better
 +  compliance (no "s around encoded values).
 +
 +- Improved the diff message in the unittest module's assertCountEqual().
 +
 +- Issue #1155362: email.utils.parsedate_tz now handles a missing space before
 +  the '-' of a timezone field as well as before a '+'.
 +
 +- Issue #4871: The zipfile module now gives a more useful error message if
 +  an attempt is made to use a string to specify the archive password.
 +
 +- Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.
 +
 +- Deprecated assertDictContainsSubset() in the unittest module.
 +
 +C-API
 +-----
 +
 +- Issue #10913: Deprecate misleading functions PyEval_AcquireLock() and
 +  PyEval_ReleaseLock().  The thread-state aware APIs should be used instead.
 +
 +- Issue #10333: Remove ancient GC API, which has been deprecated since Python
 +  2.2.
 +
 +Build
 +-----
 +
 +- Issue #10843: Update third-party library versions used in OS X 32-bit
 +  installer builds: bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4 (with FTS3/FTS4
 +  and RTREE enabled), and ncursesw 5.5 (wide-char support enabled).
 +
 +- Issue #10820: Fix OS X framework installs to support version-specific
 +  scripts (#10679).
 +
 +- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
 +  the configure script but use $GREP instead.  Patch by Fabian Groffen.
 +
 +- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
 +  and DragonFly BSD.  Patch by Nicolas Joly.
 +
 +- Issue #10679: The "idle", "pydoc" and "2to3" scripts are now installed with
 +  a version-specific suffix on "make altinstall".
 +
 +- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
 +  timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
 +  support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
    only be present on OS X; the former is the correct one for Linux with GCC.
  
  - Issue #1099: Fix the build on MacOSX when building a framework with pydebug