Partial backport of r78826: leave import site error handler unchanged (print

the error and continue).

Merged revisions 78826-78827 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78826 | victor.stinner | 2010-03-10 23:30:19 +0100 (mer., 10 mars 2010) | 5 lines

  Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt
  (SIGINT). If an error occurs while importing the site module, the error is
  printed and Python exits. Initialize the GIL before importing the site
  module.
........
  r78827 | victor.stinner | 2010-03-10 23:45:04 +0100 (mer., 10 mars 2010) | 4 lines

  ooops, fix error message in execusercustomize()

  Copy/paste failure :-)
........
This commit is contained in:
Victor Stinner 2010-03-21 14:02:32 +00:00
parent 57d43b29f3
commit ea1642910e
5 changed files with 39 additions and 11 deletions

View file

@ -245,14 +245,15 @@ Py_InitializeEx(int install_sigs)
}
initmain(); /* Module __main__ */
if (!Py_NoSiteFlag)
initsite(); /* Module site */
/* auto-thread-state API, if available */
#ifdef WITH_THREAD
_PyGILState_Init(interp, tstate);
#endif /* WITH_THREAD */
if (!Py_NoSiteFlag)
initsite(); /* Module site */
if ((p = Py_GETENV("PYTHONIOENCODING")) && *p != '\0') {
p = icodeset = codeset = strdup(p);
free_codeset = 1;
@ -281,8 +282,13 @@ Py_InitializeEx(int install_sigs)
loc_codeset = strdup(loc_codeset);
Py_DECREF(enc);
} else {
loc_codeset = NULL;
PyErr_Clear();
if (PyErr_ExceptionMatches(PyExc_LookupError)) {
PyErr_Clear();
loc_codeset = NULL;
} else {
PyErr_Print();
exit(1);
}
}
} else
loc_codeset = NULL;
@ -1543,6 +1549,8 @@ err_input(perrdetail *err)
char *msg = NULL;
errtype = PyExc_SyntaxError;
switch (err->error) {
case E_ERROR:
return;
case E_SYNTAX:
errtype = PyExc_IndentationError;
if (err->expected == INDENT)