Victor Stinner [Sun, 24 Oct 2010 20:32:26 +0000 (20:32 +0000)]
os: fsencode(), fsdecode() and os.environ(b) internal encode-decode methods
keep a local copy of the fileystem encoding, instead of calling
sys.getfilesystemencoding() each time.
Victor Stinner [Sat, 23 Oct 2010 17:02:31 +0000 (17:02 +0000)]
Issue #6011: sysconfig and distutils.sysconfig use the surrogateescape error
handler to parse the Makefile file. Avoid a UnicodeDecodeError if the source
code directory name contains a non-ASCII character and the locale encoding is
ASCII.
Victor Stinner [Sat, 23 Oct 2010 00:13:28 +0000 (00:13 +0000)]
Issue #6011: getpath: decode VPATH env var from the locale encoding
Instead of casting it to wchar_t* without conversion. It fixes a bug if Python
is compiled a non-ascii directory, different than the source code directory,
with C locale.
Antoine Pitrou [Fri, 22 Oct 2010 18:19:07 +0000 (18:19 +0000)]
Issue #5639: Add a *server_hostname* argument to `SSLContext.wrap_socket`
in order to support the TLS SNI extension. `HTTPSConnection` and
`urlopen()` also use this argument, so that HTTPS virtual hosts are now
supported.
Barry Warsaw [Fri, 22 Oct 2010 17:17:51 +0000 (17:17 +0000)]
Only hack cmd.library_dirs when running under Py_ENABLE_SHARED. Tested both
with and without --enable-shared on Ubuntu 10.10. Hopefully this finally
solves bug 10126. Will check 3.1 next.
Éric Araujo [Thu, 21 Oct 2010 23:02:07 +0000 (23:02 +0000)]
Apply fix from r85784 on py3k too.
Fixes bug #10126 for Python 3.2 by using $RUNSHARED to find the
directory to the shared library. test_distutils now passes when
Python was built with --enable-shared (Barry didn’t have the error
but I did).
Brian Curtin [Thu, 21 Oct 2010 14:11:48 +0000 (14:11 +0000)]
Fix #10162: Add try/except around _winreg.OpenKey for keys that are
unreadable by all users, e.g., Flash, Silverlight, and Java keys were
causing errors.
We don't currently have a way to grant/deny permissions for a key
via winreg so there are no tests for this.
Victor Stinner [Wed, 20 Oct 2010 22:58:25 +0000 (22:58 +0000)]
Issue #4388: On Mac OS X, decode command line arguments from UTF-8, instead of
the locale encoding. If the LANG (and LC_ALL and LC_CTYPE) environment variable
is not set, the locale encoding is ISO-8859-1, whereas most programs (including
Python) expect UTF-8. Python already uses UTF-8 for the filesystem encoding and
to encode command line arguments on this OS.
Ronald Oussoren [Wed, 20 Oct 2010 13:10:12 +0000 (13:10 +0000)]
Fix for issue #7473.
Without this patch you'll get link errors in some extensions
(in particular the _curses_panel) one when you try to build
a 3-way universal framework when you previously installed a
2-way universal framework using the python.org installer.
Ronald Oussoren [Wed, 20 Oct 2010 12:56:56 +0000 (12:56 +0000)]
Don't lie about the supported architectures in the OSX installer
Without this patch the i386/x86_64 installer for OSX 10.6
lies in the ReadMe file and the "Important Information" screen
of the installer (that is, the installer claims it supports
the i386 and ppc architectures insetead of the ones it really
supports)
Georg Brandl [Tue, 19 Oct 2010 18:54:25 +0000 (18:54 +0000)]
#10092: Properly reset locale in Locale*Calendar classes. The context manager was buggy because setlocale() returns the *new* locale, not the old. Also add a test for this.
I cannot use %U: fullname is a bytes object, not an unicode object. %A format
cannot be used, it adds 'b' (bytes) prefix. So create cant_find_module()
function to decode the filename and raise the error message.
Issue #10117: Tools/scripts/reindent.py now accepts source files that
use encoding other than ASCII or UTF-8. Source encoding is preserved
when reindented code is written to a file.
Victor Stinner [Mon, 18 Oct 2010 12:13:46 +0000 (12:13 +0000)]
zipimport: read_directory() uses cp437 or utf-8 (in strict mode), depending on
the unicode flag, to decode the filename, instead of the filesystem encoding.
Use the same choice than the zipfile module.
Issue #5117: Case normalization was needed on ntpath.relpath(). And
fixed root directory issue on posixpath.relpath(). (Ported working fixes
from ntpath)