- curline = srcline(pc);
- curfunc = whatblock(pc);
- if ((filename = srcfilename(pc)) != cursource) {
- skimsource(filename);
- }
- if (p->signo == ESIGNAL) {
- printf("\nerror at line %d", curline);
- if (nlhdr.nfiles > 1) {
- printf("in file %s", cursource);
- }
- if (errnum != 0) {
- printf(": %s", pxerrmsg[errnum]);
- }
- } else {
- printf("\n\ninterrupt at line %d", curline);
- if (nlhdr.nfiles > 1) {
- printf(" in file %s", cursource);
- }
- }
- putchar('\n');
- printlines(curline, curline);
- erecover();
+ } else {
+ printf("\n\ninterrupt at ");
+ printwhere(curline, cursource);
+ }
+ putchar('\n');
+ printlines(curline, curline);
+ erecover();