Don't use printobject() to print a string (filename).
Print ';' instead of ',' between file and line for MPW.
diff --git a/Python/traceback.c b/Python/traceback.c
index e71f6fa..f3a1358 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -188,13 +188,16 @@
while (tb != NULL) {
if (intrcheck())
break;
- fprintf(fp, " File \"");
- if (printobject(tb->tb_frame->f_code->co_filename,
- fp, PRINT_RAW) != 0) {
- err_clear();
- break;
- }
- fprintf(fp, "\", line %d\n", tb->tb_lineno);
+ fprintf(fp, " File \"%s\"",
+ getstringvalue(tb->tb_frame->f_code->co_filename));
+#ifdef applec /* MPW */
+ /* This is needed by MPW's File and Line commands */
+ fprintf(fp, "; ");
+#else
+ /* This is needed by Emacs' compile command */
+ fprintf(fp, ", ");
+#endif
+ fprintf(fp, "line %d\n", tb->tb_lineno);
tb_displayline(fp,
getstringvalue(tb->tb_frame->f_code->co_filename),
tb->tb_lineno);