Commit Diff


commit - 3fce3392ac04283ff1bf00647af943ce47d9bc94
commit + 506b8ea0c675e6154aa2b9bdb6e6623a3be09c8c
blob - 8e25d2334ec9a73703f2c6df117e046e998cbda6
blob + ba6973a9aa06c4a047ed6bd6873a498ff024ece9
--- st.c
+++ st.c
@@ -1814,9 +1814,12 @@ tputc(char *c, int len) {
 		csireset();
 		term.esc = ESC_START;
 		return;
-	case '\016':	/* XXX: SO */
-	case '\017':	/* XXX: SI */
+	case '\016':	/* SO */
+		term.c.attr.mode |= ATTR_GFX;
 		break;
+	case '\017':	/* SI */
+		term.c.attr.mode &= ~ATTR_GFX;
+		return;
 	case '\032':	/* SUB */
 	case '\030':	/* CAN */
 		csireset();