summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-09-25 11:26:00 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-09-25 11:26:00 +0000
commit84584ea58bf0a8f58ed0dcd30d769adffa3377f7 (patch)
treefd746a37ac3b5dde61bb74f3e4cc056d3857a725
parentd17398b442de23ab999593fb74f082b6f6112a5e (diff)
downloadzsh-84584ea58bf0a8f58ed0dcd30d769adffa3377f7.tar.gz
zsh-84584ea58bf0a8f58ed0dcd30d769adffa3377f7.zip
25684: make %x and %I consistent with eval line numbering
-rw-r--r--ChangeLog5
-rw-r--r--Src/prompt.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6eeb47d7c..4fddfe8f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-25 Peter Stephenson <pws@csr.com>
+
+ * 25684: Src/prompt.c: make %x and %I consistent with
+ eval line numbering.
+
2008-09-24 Peter Stephenson <p.w.stephenson@ntlworld.com>
* users/13288: Src/parse.c: don't report parse errors if the
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