From b8d6171cb00c28e4c90e58e101554097003b59d3 Mon Sep 17 00:00:00 2001
From: "q@c9x.me" <q@c9x.me>
Date: Wed, 9 Apr 2014 20:37:23 +0200
Subject: [PATCH] fix cursor handling when alt screen is disabled

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 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/st.c b/st.c
index ced72ff..70caf82 100644
--- 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)