summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS7
-rw-r--r--Python/ceval.c16
2 files changed, 6 insertions, 17 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 64d4bbc..7b55d20 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,12 +10,17 @@ What's New in Python 3.3 Alpha 1?
Core and Builtins
-----------------
-- Check for NULL result in PyType_FromSpec.
+- Issue #11168: Remove filename debug variable from PyEval_EvalFrameEx().
+ It encoded the Unicode filename to UTF-8, but the encoding fails on
+ undecodable filename (on surrogate characters) which raises an unexpected
+ UnicodeEncodeError on recursion limit.
- Issue #11187: Remove bootstrap code (use ASCII) of
PyUnicode_AsEncodedString(), it was replaced by a better fallback (use the
locale encoding) in PyUnicode_EncodeFSDefault().
+- Check for NULL result in PyType_FromSpec.
+
Library
-------
diff --git a/Python/ceval.c b/Python/ceval.c
index f6d4b0b..c10a2ff 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -811,10 +811,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
unsigned char *first_instr;
PyObject *names;
PyObject *consts;
-#if defined(Py_DEBUG) || defined(LLTRACE)
- /* Make it easier to find out where we are with a debugger */
- char *filename;
-#endif
/* Computed GOTOs, or
the-optimization-commonly-but-improperly-known-as-"threaded code"
@@ -1227,18 +1223,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
#ifdef LLTRACE
lltrace = PyDict_GetItemString(f->f_globals, "__lltrace__") != NULL;
#endif
-#if defined(Py_DEBUG) || defined(LLTRACE)
- {
- PyObject *error_type, *error_value, *error_traceback;
- PyErr_Fetch(&error_type, &error_value, &error_traceback);
- filename = _PyUnicode_AsString(co->co_filename);
- if (filename == NULL && tstate->overflowed) {
- /* maximum recursion depth exceeded */
- goto exit_eval_frame;
- }
- PyErr_Restore(error_type, error_value, error_traceback);
- }
-#endif
why = WHY_NOT;
err = 0;