summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Culverhouse <tim@timculverhouse.com>2024-02-18 06:56:49 -0600
committerRafael Marçalo <raroma09@gmail.com>2024-02-18 16:16:00 +0000
commit0d1d6a361a6b5a5fa4a875e1c358baf346a996f9 (patch)
treebf3266e574941a91df8f43aac3e46fd5bb629219
parent1c74e1bf4cbee344d05abf5744165ab4277332e0 (diff)
csi: check for private marker in 'S' case
The handler for 'S' final character does not check for a private marker. This can cause a conflict with a sequence called 'XTSMGRAPHICS' which also has an 'S' final character, but uses the private marker '?'. Without checking for a private marker, st will perform a scroll up operation when XTSMGRAPHICS is seen, which can cause unexpected display artifacts.
-rw-r--r--st.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/st.c b/st.c
index be2be2c..386e001 100644
--- a/st.c
+++ b/st.c
@@ -1790,6 +1790,7 @@ csihandle(void)
}
break;
case 'S': /* SU -- Scroll <n> line up */
+ if (csiescseq.priv) break;
DEFAULT(csiescseq.arg[0], 1);
tscrollup(term.top, csiescseq.arg[0], 0);
break;