diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-31 16:01:10 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-31 16:01:10 +0000 |
commit | b41c26d78ab813debcba35478f0a97468233570c (patch) | |
tree | 97ec4b21c791df058dd7639902602a81d88a0c0f | |
parent | d19602a65a0fa7c42aacbbedbd0d9e44d52055ba (diff) | |
download | zsh-b41c26d78ab813debcba35478f0a97468233570c.tar.gz zsh-b41c26d78ab813debcba35478f0a97468233570c.tar.xz zsh-b41c26d78ab813debcba35478f0a97468233570c.zip |
25570: line numbers of complex sublists were wrong, plus test
make lineno zlong in another place
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Src/exec.c | 2 | ||||
-rw-r--r-- | Src/zsh.h | 2 | ||||
-rw-r--r-- | Test/C03traps.ztst | 10 |
4 files changed, 18 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 782fe3474..85fd92618 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-08-31 Peter Stephenson <p.w.stephenson@ntlworld.com> + + * 25570: Src/exec.c, Src/zsh.h, Test/C03traps.ztst: line numbers + of complex sublists were wrong, plus test; another place to make + lineno more consistent. + 2008-08-31 Andrey Borzenkov <bor@zsh.org> * users/13169: Src/exec.c: really restore emulation mode when diff --git a/Src/exec.c b/Src/exec.c index e9f4bc1e8..06f08ffb8 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1060,7 +1060,7 @@ execlist(Estate state, int dont_change_job, int exiting) lnp1 = code2; } else if (wc_code(code2) == WC_SUBLIST) { if (WC_SUBLIST_FLAGS(code2) == WC_SUBLIST_SIMPLE) - lnp1 = state->pc[2]; + lnp1 = state->pc[1]; else lnp1 = WC_PIPE_LINENO(state->pc[1]); } diff --git a/Src/zsh.h b/Src/zsh.h index ca49c695c..011aa3634 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -1063,7 +1063,7 @@ struct cmdnam { struct shfunc { struct hashnode node; char *filename; /* Name of file located in */ - int lineno; /* line number in above file */ + zlong lineno; /* line number in above file */ Eprog funcdef; /* function definition */ }; diff --git a/Test/C03traps.ztst b/Test/C03traps.ztst index 1e0b4088f..f0bfd296a 100644 --- a/Test/C03traps.ztst +++ b/Test/C03traps.ztst @@ -429,6 +429,16 @@ 1:Skip assignment from DEBUG trap >5 three + fn() { + setopt localtraps localoptions debugbeforecmd + trap 'print $LINENO' DEBUG + [[ a = a ]] && print a is ok + } + fn +0:line numbers of complex sublists +>3 +>a is ok + %clean rm -f TRAPEXIT |