]> granicus.if.org Git - python/commitdiff
Close #14439: Python now prints the traceback on runpy failure at startup.
authorVictor Stinner <victor.stinner@gmail.com>
Tue, 9 Apr 2013 22:27:23 +0000 (00:27 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Tue, 9 Apr 2013 22:27:23 +0000 (00:27 +0200)
Misc/NEWS
Modules/main.c

index 1cb81fe7a9cf6beef36e7c75666eddfdcb624570..38f6cde61987c34572a6fe7c37ee0ea7c9a19873 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@ What's New in Python 3.4.0 Alpha 1?
 Core and Builtins
 -----------------
 
+- Issue #14439: Python now prints the traceback on runpy failure at startup.
+
 - Issue #17469: Fix _Py_GetAllocatedBlocks() and sys.getallocatedblocks()
   when running on valgrind.
 
@@ -1053,7 +1055,7 @@ IDLE
 
 - Issue #6698: IDLE now opens just an editor window when configured to do so.
 
-- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer 
+- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
   raises an exception.
 
 - Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
@@ -1092,7 +1094,7 @@ IDLE
 
 - Issue #6698: IDLE now opens just an editor window when configured to do so.
 
-- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer 
+- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
   raises an exception.
 
 - Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
index 79ad6f595565ef9b4a9153e2affd00a141e1c206..1d6c09a269533004dc0fb47d946233273f9d29df 100644 (file)
@@ -167,17 +167,20 @@ static int RunModule(wchar_t *modname, int set_argv0)
     runpy = PyImport_ImportModule("runpy");
     if (runpy == NULL) {
         fprintf(stderr, "Could not import runpy module\n");
+        PyErr_Print();
         return -1;
     }
     runmodule = PyObject_GetAttrString(runpy, "_run_module_as_main");
     if (runmodule == NULL) {
         fprintf(stderr, "Could not access runpy._run_module_as_main\n");
+        PyErr_Print();
         Py_DECREF(runpy);
         return -1;
     }
     module = PyUnicode_FromWideChar(modname, wcslen(modname));
     if (module == NULL) {
         fprintf(stderr, "Could not convert module name to unicode\n");
+        PyErr_Print();
         Py_DECREF(runpy);
         Py_DECREF(runmodule);
         return -1;
@@ -186,6 +189,7 @@ static int RunModule(wchar_t *modname, int set_argv0)
     if (runargs == NULL) {
         fprintf(stderr,
             "Could not create arguments for runpy._run_module_as_main\n");
+        PyErr_Print();
         Py_DECREF(runpy);
         Py_DECREF(runmodule);
         Py_DECREF(module);