summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/st.c b/st.c
index 84292f5..c360900 100644
--- a/st.c
+++ b/st.c
@@ -860,6 +860,13 @@ tputc(char c) {
tmoveto(term.c.x-1, term.c.y);
term.esc = 0;
break;
+ case 'M': /* RI -- Reverse index */
+ if(term.c.y == term.top)
+ tinsertblankline(1);
+ else
+ tmoveto(term.c.x, term.c.y-1);
+ term.esc = 0;
+ break;
case '=': /* DECPAM */
term.mode |= MODE_APPKEYPAD;
term.esc = 0;
@@ -870,9 +877,11 @@ tputc(char c) {
break;
case '7':
tcursor(CURSOR_SAVE);
+ term.esc = 0;
break;
case '8':
tcursor(CURSOR_LOAD);
+ term.esc = 0;
break;
default:
fprintf(stderr, "erresc: unknown sequence ESC %02X '%c'\n", c, isprint(c)?c:'.');