diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/prompt.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/prompt.c b/Src/prompt.c index 7bba51c61..870632ec5 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -726,7 +726,8 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep) stradd(Rstring); break; case 'I': - if (funcstack && funcstack->tp != FS_SOURCE) { + if (funcstack && funcstack->tp != FS_SOURCE && + (!intrap || trapisfunc)) { /* * We're in a function or an eval with * EVALLINENO. Calculate the line number in @@ -749,7 +750,8 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep) bp += strlen(bp); break; case 'x': - if (funcstack && funcstack->tp != FS_SOURCE) + if (funcstack && funcstack->tp != FS_SOURCE && + (!intrap || trapisfunc)) promptpath(funcstack->filename ? funcstack->filename : "", arg, 0); else |