fix cursor handling when alt screen is disabled
authorq@c9x.me <q@c9x.me>
Wed, 9 Apr 2014 18:37:23 +0000 (20:37 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Tue, 15 Apr 2014 06:13:41 +0000 (08:13 +0200)
I don't like this alt screen thing, but when
allowaltscreen == 0, the cursor is still saved
and restored after calling 'less' (or 'man').

This patch makes allowaltscreen == 0 usable.

st.c

diff --git a/st.c b/st.c
index ced72ff..70caf82 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1855,7 +1855,10 @@ tsetmode(bool priv, bool set, int *args, int narg) {
                                MODBIT(term.mode, set, MODE_8BIT);
                                break;
                        case 1049: /* swap screen & set/restore cursor as xterm */
+                               if (!allowaltscreen)
+                                       break;
                                tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
+                               /* FALLTHRU */
                        case 47: /* swap screen */
                        case 1047:
                                if (!allowaltscreen)