Mercurial > cpython-lru_cache-weakref
diff Python/traceback.c @ 1831:216b755515e6 legacy-trunk
add function name to traceback info
MPW fixes
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Mon, 29 Aug 1994 12:09:58 +0000 |
| parents | 72bddfad351a |
| children | 0c232194a64f |
line wrap: on
line diff
--- a/Python/traceback.c Mon Aug 29 10:55:31 1994 +0000 +++ b/Python/traceback.c Mon Aug 29 12:09:58 1994 +0000 @@ -1,5 +1,5 @@ /*********************************************************** -Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum, +Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum, Amsterdam, The Netherlands. All Rights Reserved @@ -74,9 +74,9 @@ "traceback", sizeof(tracebackobject), 0, - tb_dealloc, /*tp_dealloc*/ + (destructor)tb_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ - tb_getattr, /*tp_getattr*/ + (getattrfunc)tb_getattr, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_compare*/ 0, /*tp_repr*/ @@ -150,14 +150,22 @@ } static void -tb_displayline(f, filename, lineno) +tb_displayline(f, filename, lineno, name) object *f; char *filename; int lineno; + char *name; { FILE *xfp; char linebuf[1000]; int i; +#ifdef MPW + /* This is needed by MPW's File and Line commands */ +#define FMT " File \"%.900s\"; line %d # in %s\n" +#else + /* This is needed by Emacs' compile command */ +#define FMT " File \"%.900s\", line %d, in %s\n" +#endif xfp = fopen(filename, "r"); if (xfp == NULL) { /* Search tail of filename in sys.path before giving up */ @@ -189,16 +197,7 @@ } } } - sprintf(linebuf, " File \"%.900s\"%s line %d\n", - filename, -#ifdef applec /* MPW */ - /* This is needed by MPW's File and Line commands */ - ";", -#else - /* This is needed by Emacs' compile command */ - ",", -#endif - lineno); + sprintf(linebuf, FMT, filename, lineno, name); writestring(linebuf, f); if (xfp == NULL) return; @@ -234,7 +233,8 @@ if (depth <= limit) tb_displayline(f, getstringvalue(tb->tb_frame->f_code->co_filename), - tb->tb_lineno); + tb->tb_lineno, + getstringvalue(tb->tb_frame->f_code->co_name)); depth--; tb = tb->tb_next; }
