csi: check for private marker in 'S' case - st - simple terminal | |
git clone git://git.suckless.org/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a3f7420310be0fd778ef9fe2abf20edc2d8dc81a | |
parent 9846a56bd7fdc86bf788db04bbbcbde7b7eb9952 | |
Author: Tim Culverhouse <[email protected]> | |
Date: Sun, 18 Feb 2024 06:56:49 -0600 | |
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. | |
Diffstat: | |
M st.c | 1 + | |
1 file changed, 1 insertion(+), 0 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
@@ -1728,6 +1728,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]); | |
break; |