Argtype descriptions name a literal parameter's cost, a phase's error is the phase's report, the ^-code table's grave-accent and dieresis rows (from dev ee86ca467512)

This commit is contained in:
ack committed 2026-10-18 23:19:37 +02:00
1 parent f4dcdf3ffd
commit 35ca469e4d
7 files changed
+66 -6

No files matched your search

+9
View File
@@ -6,6 +6,12 @@
std::regex Eval_python::statement_delimiter("\\s*;\\s*");
PyObject* Eval_python::s_last_exception = nullptr;
// See eval.h. Set by fetch_python_exception(), beside the object it keeps.
static std::string s_last_exception_type {};
static std::string s_last_exception_text {};
std::string last_python_exception_type() { return s_last_exception_type; }
std::string last_python_exception_text() { return s_last_exception_text; }
static bool s_python_output_to_log = false;
void set_python_output_to_log(bool on)
@@ -226,6 +232,9 @@ std::string Eval_python::fetch_python_exception()
detail = PyUnicode_AsUTF8(str);
Py_DECREF(str);
}
s_last_exception_text = detail;
s_last_exception_type =
ptype ? reinterpret_cast<PyTypeObject*>(ptype)->tp_name : "";
PyObject* tb_module = PyImport_ImportModule("traceback");
if (tb_module) {
PyObject* format = PyObject_GetAttrString(tb_module, "format_exception");