summaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
Diffstat (limited to 'st.c')
-rw-r--r--st.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/st.c b/st.c
index c765947..86cf5a3 100644
--- a/st.c
+++ b/st.c
@@ -1107,11 +1107,16 @@ kscrollup(const Arg* a)
if (n < 0)
n = term.row + n;
- if (term.scr <= HISTSIZE-n) {
+ if (term.scr <= term.histi-n) {
term.scr += n;
selscroll(0, n);
tfulldirt();
- }
+ } else {
+ n = term.histi - term.scr;
+ term.scr = term.histi;
+ selscroll(0, n);
+ tfulldirt();
+ }
}
void
@@ -1779,7 +1784,6 @@ csihandle(void)
tclearregion(0, term.c.y+1, term.col-1,
term.row-1);
}
- term.histi=0;
break;
case 1: /* above */
if (term.c.y > 1)