diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Zle/zle_refresh.c | 6 |
2 files changed, 6 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2023-01-10 Oliver Kiddle <opk@zsh.org> + * 51290: Src/Zle/zle_refresh.c: fix display of control + characters with SINGLE_LINE_ZLE set + * 51289: Src/Zle/zle_refresh.c, Src/prompt.c: don't disable non-colour attributes in prompts for SINGLE_LINE_ZLE and remove superfluous extra escapes to disable attributes diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c index 8949a851c..b196370dc 100644 --- a/Src/Zle/zle_refresh.c +++ b/Src/Zle/zle_refresh.c @@ -2419,6 +2419,8 @@ singlerefresh(ZLE_STRING_T tmpline, int tmpll, int tmpcs) } all_attr = mixattrs(special_attr, base_attr); + if (t0 == tmpcs) + nvcs = vp - vbuf; if (tmpline[t0] == ZWC('\t')) { for (*vp++ = zr_sp; (vp - vbuf) & 7; ) *vp++ = zr_sp; @@ -2461,7 +2463,7 @@ singlerefresh(ZLE_STRING_T tmpline, int tmpll, int tmpcs) && (unsigned)tmpline[t0] <= 0xffU #endif ) { - ZLE_INT_T t = tmpline[++t0]; + ZLE_INT_T t = tmpline[t0]; vp->chr = ZWC('^'); vp->atr = all_attr; @@ -2498,8 +2500,6 @@ singlerefresh(ZLE_STRING_T tmpline, int tmpll, int tmpcs) vp++; } #endif - if (t0 == tmpcs) - nvcs = vp - vbuf - 1; } if (t0 == tmpcs) nvcs = vp - vbuf; |