Brett Cannon [Thu, 13 Jun 2013 03:29:18 +0000 (23:29 -0400)]
Issue #15767: Touch up ModuleNotFoundError usage by import.
Forgot to raise ModuleNotFoundError when None is found in sys.modules.
This led to introducing the C function PyErr_SetImportErrorSubclass()
to make setting ModuleNotFoundError easier.
Also updated the reference docs to mention ModuleNotFoundError
appropriately. Updated the docs for ModuleNotFoundError to mention the
None in sys.modules case.
Lastly, it was noticed that PyErr_SetImportError() was not setting an
exception when returning None in one case. That issue is now fixed.
Brett Cannon [Wed, 12 Jun 2013 20:59:46 +0000 (16:59 -0400)]
Issue #15767: Introduce ModuleNotFoundError, a subclass of
ImportError.
The exception is raised by import when a module could not be found.
Technically this is defined as no viable loader could be found for the
specified module. This includes ``from ... import`` statements so that
the module usage is consistent for all situations where import
couldn't find what was requested.
This should allow for the common idiom of::
try:
import something
except ImportError:
pass
to be updated to using ModuleNotFoundError and not accidentally mask
ImportError messages that should propagate (e.g. issues with a
loader).
This work was driven by the fact that the ``from ... import``
statement needed to be able to tell the difference between an
ImportError that simply couldn't find a module (and thus silence the
exception so that ceval can raise it) and an ImportError that
represented an actual problem.
Terry Jan Reedy [Wed, 5 Jun 2013 18:22:26 +0000 (14:22 -0400)]
Issue18130: Test class idlelib.configSectionNameDialog.GetCfgSectionNameDialog.
Fix bug in existing human test and add instructions; fix two bugs in tested
code; remove redundancies, add spaces, and change two internal method names.
Add mock_tk with mocks for tkinter.Variable subclasses and tkinter.messagebox.
Use mocks in test_config_name to unittest methods that are otherwise gui-free.
Victor Stinner [Tue, 4 Jun 2013 22:13:51 +0000 (00:13 +0200)]
Issue #9566: Fix a compiler warning on Windows 64-bit in namespace_init()
The result type is int, return -1 to avoid a compiler warning (cast Py_ssize_t
to int). PyObject_Size() can only fail with -1, and anyway a constructor
should return -1 on error, not an arbitrary negative number.
Victor Stinner [Tue, 4 Jun 2013 22:11:34 +0000 (00:11 +0200)]
Issuse #17932: Fix an integer overflow issue on Windows 64-bit in tuple
iterators: change the C type of tupleiterobject.it_index from long to
Py_ssize_t.
Victor Stinner [Mon, 3 Jun 2013 20:09:14 +0000 (22:09 +0200)]
(Merge 3.3) Close #18109: os.uname() now decodes fields from the locale
encoding, and socket.gethostname() now decodes the hostname from the locale
encoding, instead of using the UTF-8 encoding in strict mode.
Victor Stinner [Mon, 3 Jun 2013 20:07:27 +0000 (22:07 +0200)]
Close #18109: os.uname() now decodes fields from the locale encoding, and
socket.gethostname() now decodes the hostname from the locale encoding, instead
of using the UTF-8 encoding in strict mode.
Senthil Kumaran [Sat, 1 Jun 2013 18:12:17 +0000 (11:12 -0700)]
Fix thishost helper funtion in urllib. Returns the ipaddress of localhost when
hostname is resolvable by socket.gethostname for local machine. This all fixes
certain freebsd builtbot failures.
Senthil Kumaran [Sat, 1 Jun 2013 15:27:06 +0000 (08:27 -0700)]
Fix #17967: For ftp urls CWD to target instead of hopping to each directory
towards target. This fixes a bug where target is accessible, but parent
directories are restricted.
Senthil Kumaran [Wed, 29 May 2013 12:54:31 +0000 (05:54 -0700)]
#17403: urllib.parse.robotparser normalizes the urls before adding to ruleline.
This helps in handling certain types invalid urls in a conservative manner.