commit a3f7420310be0fd778ef9fe2abf20edc2d8dc81a
Author:     Tim Culverhouse <t...@timculverhouse.com>
AuthorDate: Sun Feb 18 06:56:49 2024 -0600
Commit:     Hiltjo Posthuma <hil...@codemadness.org>
CommitDate: Sun Feb 18 16:14:26 2024 +0100

    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.

diff --git a/st.c b/st.c
index d6478f5..034954d 100644
--- 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;

Reply via email to