From 2f93affb988ecdae1cfd3fb73801ce5b943a6525 Mon Sep 17 00:00:00 2001
From: Nicholas Marriott <nicm@openbsd.org>
Date: Tue, 22 May 2012 09:36:12 +0000
Subject: [PATCH] If there are any terminals with insert mode but not ich1,
 they can go through the slow path. Tidies code slightly.

---
 tmux.h     | 2 --
 tty-term.c | 2 --
 tty.c      | 7 +------
 3 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/tmux.h b/tmux.h
index 96efb661..b142c696 100644
--- a/tmux.h
+++ b/tmux.h
@@ -316,7 +316,6 @@ enum tty_code_code {
 	TTYC_RI,	/* scroll_reverse, sr */
 	TTYC_RMACS,	/* exit_alt_charset_mode */
 	TTYC_RMCUP,	/* exit_ca_mode, te */
-	TTYC_RMIR,	/* exit_insert_mode, ei */
 	TTYC_RMKX,	/* keypad_local, ke */
 	TTYC_SETAB,	/* set_a_background, AB */
 	TTYC_SETAF,	/* set_a_foreground, AF */
@@ -324,7 +323,6 @@ enum tty_code_code {
 	TTYC_SITM,	/* enter_italics_mode, it */
 	TTYC_SMACS,	/* enter_alt_charset_mode, as */
 	TTYC_SMCUP,	/* enter_ca_mode, ti */
-	TTYC_SMIR,	/* enter_insert_mode, im */
 	TTYC_SMKX,	/* keypad_xmit, ks */
 	TTYC_SMSO,	/* enter_standout_mode, so */
 	TTYC_SMUL,	/* enter_underline_mode, us */
diff --git a/tty-term.c b/tty-term.c
index 5338d0d9..d79cbf2f 100644
--- a/tty-term.c
+++ b/tty-term.c
@@ -174,7 +174,6 @@ const struct tty_term_code_entry tty_term_codes[NTTYCODE] = {
 	{ TTYC_RI, TTYCODE_STRING, "ri" },
 	{ TTYC_RMACS, TTYCODE_STRING, "rmacs" },
 	{ TTYC_RMCUP, TTYCODE_STRING, "rmcup" },
-	{ TTYC_RMIR, TTYCODE_STRING, "rmir" },
 	{ TTYC_RMKX, TTYCODE_STRING, "rmkx" },
 	{ TTYC_SETAB, TTYCODE_STRING, "setab" },
 	{ TTYC_SETAF, TTYCODE_STRING, "setaf" },
@@ -182,7 +181,6 @@ const struct tty_term_code_entry tty_term_codes[NTTYCODE] = {
 	{ TTYC_SITM, TTYCODE_STRING, "sitm" },
 	{ TTYC_SMACS, TTYCODE_STRING, "smacs" },
 	{ TTYC_SMCUP, TTYCODE_STRING, "smcup" },
-	{ TTYC_SMIR, TTYCODE_STRING, "smir" },
 	{ TTYC_SMKX, TTYCODE_STRING, "smkx" },
 	{ TTYC_SMSO, TTYCODE_STRING, "smso" },
 	{ TTYC_SMUL, TTYCODE_STRING, "smul" },
diff --git a/tty.c b/tty.c
index 63a54f0a..91ef75bd 100644
--- a/tty.c
+++ b/tty.c
@@ -754,12 +754,7 @@ tty_cmd_insertcharacter(struct tty *tty, const struct tty_ctx *ctx)
 	if (tty_term_has(tty->term, TTYC_ICH) ||
 	    tty_term_has(tty->term, TTYC_ICH1))
 		tty_emulate_repeat(tty, TTYC_ICH, TTYC_ICH1, ctx->num);
-	else if (tty_term_has(tty->term, TTYC_SMIR) &&
-	    tty_term_has(tty->term, TTYC_RMIR)) {
-		tty_putcode(tty, TTYC_SMIR);
-		tty_repeat_space(tty, ctx->num);
-		tty_putcode(tty, TTYC_RMIR);
-	} else
+	else
 		tty_draw_line(tty, wp->screen, ctx->ocy, ctx->xoff, ctx->yoff);
 }