diff options
| author | Barton E. Schaefer <schaefer@zsh.org> | 2014-09-27 09:26:21 -0700 |
|---|---|---|
| committer | Barton E. Schaefer <schaefer@zsh.org> | 2014-09-27 09:26:21 -0700 |
| commit | 7cabee52d8132fed31767392540ae67bac36377e (patch) | |
| tree | 23b3745a3bc4f9ef6e69c4a06651e58a7e098cdc | |
| parent | 33242: tokens following if, for, repeat, while aren't in command position (diff) | |
| download | zsh-7cabee52d8132fed31767392540ae67bac36377e.tar zsh-7cabee52d8132fed31767392540ae67bac36377e.tar.gz zsh-7cabee52d8132fed31767392540ae67bac36377e.tar.bz2 zsh-7cabee52d8132fed31767392540ae67bac36377e.tar.lz zsh-7cabee52d8132fed31767392540ae67bac36377e.tar.xz zsh-7cabee52d8132fed31767392540ae67bac36377e.tar.zst zsh-7cabee52d8132fed31767392540ae67bac36377e.zip | |
33256: fix prompttrunc() counting of %{ %} spans
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | Src/prompt.c | 14 |
2 files changed, 10 insertions, 8 deletions
@@ -1,3 +1,7 @@ +2014-09-27 Barton E. Schaefer <schaefer@zsh.org> + + * 33256: Src/prompt.c: fix prompttrunc() counting of %{ %} spans + 2014-09-26 Peter Stephenson <p.stephenson@samsung.com> * 33242: Src/parse.c: don't treat tokens immediately following diff --git a/Src/prompt.c b/Src/prompt.c index 9ed6c54d5..0cc9ef917 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -1316,12 +1316,11 @@ prompttrunc(int arg, int truncchar, int doprint, int endchar, */ for (;;) { *ptr++ = *fulltextptr; - if (*fulltextptr == Outpar || - *fulltextptr == '\0') + if (*fulltextptr == '\0' || + *fulltextptr++ == Outpar) break; - if (*fulltextptr == Nularg) + if (fulltextptr[-1] == Nularg) remw--; - fulltextptr++; } } else { #ifdef MULTIBYTE_SUPPORT @@ -1397,12 +1396,11 @@ prompttrunc(int arg, int truncchar, int doprint, int endchar, if (*skiptext == Inpar) { /* see comment on left truncation above */ for (;;) { - if (*skiptext == Outpar || - *skiptext == '\0') + if (*skiptext == '\0' || + *skiptext++ == Outpar) break; - if (*skiptext == Nularg) + if (skiptext[-1] == Nularg) maxwidth--; - skiptext++; } } else { #ifdef MULTIBYTE_SUPPORT |
