summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2023-02-09 00:10:19 +0100
committerOliver Kiddle <opk@zsh.org>2023-02-09 00:10:19 +0100
commit6502d05897a7d9441fcabfd24f203cffe4da59aa (patch)
tree2d22e60ca6103d359476f61abd092699ff633831
parentd6b027c3c1203da5f3c6451bd6e2e0b81bd766b6 (diff)
downloadzsh-6502d05897a7d9441fcabfd24f203cffe4da59aa.tar.gz
zsh-6502d05897a7d9441fcabfd24f203cffe4da59aa.zip
51320, 51383: fixes to prevent later reappearance of old attributes
Also associated test updates and a test fix for TERM=dumb.
-rw-r--r--ChangeLog7
-rw-r--r--Src/Zle/complist.c2
-rw-r--r--Src/Zle/zle_main.c2
-rw-r--r--Src/Zle/zle_tricky.c2
-rw-r--r--Test/D01prompt.ztst2
-rw-r--r--Test/X04zlehighlight.ztst2
6 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e63157de..bbe45a3f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2023-02-09 Oliver Kiddle <opk@zsh.org>
+
+ * 51320, 51383: Src/Zle/zle_main.c, Src/Zle/complist.c,
+ Src/Zle/zle_tricky.c, Test/D01prompt.ztst,
+ Test/X04zlehighlight.ztst: fixes to prevent later reappearance
+ of old attributes
+
2023-02-06 Peter Stephenson <p.stephenson@samsung.com>
* 51350: Src/subst.c, Test/D04parameter.ztst: the combination
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
index 8bdf1bb29..9cb89a60d 100644
--- a/Src/Zle/complist.c
+++ b/Src/Zle/complist.c
@@ -1305,6 +1305,8 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop)
}
}
if (dopr) {
+ treplaceattrs(0);
+ applytextattributes(0);
if (!(cc % zterm_columns))
fputs(" \010", shout);
cleareol();
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index cfa0a739d..4a6c02133 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -2071,9 +2071,9 @@ trashzle(void)
trashedzle = 1;
zrefresh();
showinglist = sl;
- moveto(nlnct, 0);
treplaceattrs(prompt_attr);
applytextattributes(0);
+ moveto(nlnct, 0);
if (clearflag && tccan(TCCLEAREOD)) {
tcout(TCCLEAREOD);
clearflag = listshown = 0;
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index f94bfce3c..07fac7144 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2560,6 +2560,8 @@ printfmt(char *fmt, int n, int dopr, int doesc)
}
}
if (dopr) {
+ treplaceattrs(0);
+ applytextattributes(0);
if (!(cc % zterm_columns))
fputs(" \010", shout);
if (tccan(TCCLEAREOL))
diff --git a/Test/D01prompt.ztst b/Test/D01prompt.ztst
index a0abb7e1d..55861cca1 100644
--- a/Test/D01prompt.ztst
+++ b/Test/D01prompt.ztst
@@ -261,7 +261,7 @@
A1=${(%):-%s}
A2=${(%):-%u}
A3=${(%):-%s%u%s}
- [[ $A3 = $A1$A2 && -n $A1 && -n $A2 ]]
+ [[ $A3 = $A1$A2 ]]
0:Attribute optimisation - preserve initial disabling of attribute but drop useless later one
: ${(%):-%K{blue}}
diff --git a/Test/X04zlehighlight.ztst b/Test/X04zlehighlight.ztst
index 296635bf5..87a59fde5 100644
--- a/Test/X04zlehighlight.ztst
+++ b/Test/X04zlehighlight.ztst
@@ -40,7 +40,7 @@
# Fix e^Mexit - match ((?)\r(?)), if \2 == \3, then replace with \2
# otherwise replace with \1 stripped out of leading/trailing [[:space:]]
REPLY=${REPLY//(#b)((?(#c0,1))$cm(?(#c0,1)))/${${${(M)match[2]:#${match[3]}}:+${match[2]}}:-${${match[1]##[[:space:]]##}%%[[:space:]]##}}}
- [[ -n "$REPLY" ]] && print -r -- ${${REPLY%%[[:space:]]##}##[[:space:]]##}
+ [[ -n "$REPLY" ]] && print -r -- ${${REPLY%%${~cm}*}##[[:space:]]##}
done
}
zpty_stop() {