File xterm-reset-parsing-state.patch of Package xterm.32862

--- charproc.c
+++ charproc.c
@@ -2533,6 +2533,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	    TRACE(("CASE_VT52_CUP - VT52 cursor addressing\n"));
 	    sp->vt52_cup = True;
 	    InitParams();
+	    ResetState(sp);
 	    break;
 
 	case CASE_VT52_IGNORE:
@@ -4719,7 +4730,9 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 		for (value = 1; value <= 5; ++value)
 		    set_mod_fkeys(xw, value, DEFAULT, True);
 	    }
+	    ResetState(sp);
 	    break;
+
 	case CASE_SET_MOD_FKEYS0:
 	    TRACE(("CASE_SET_MOD_FKEYS0\n"));
 	    if (nparam >= 1 && GetParam(0) != DEFAULT) {
@@ -4727,6 +4740,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	    } else {
 		xw->keyboard.modify_now.function_keys = -1;
 	    }
+	    ResetState(sp);
 	    break;
 #endif
 	case CASE_HIDE_POINTER:
@@ -4736,6 +4750,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 	    } else {
 		screen->pointer_mode = DEF_POINTER_MODE;
 	    }
+	    ResetState(sp);
 	    break;
 
 	case CASE_SM_TITLE:
@@ -4750,6 +4765,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 		screen->title_modes = DEF_TITLE_MODES;
 	    }
 	    TRACE(("...title_modes %#x\n", screen->title_modes));
+	    ResetState(sp);
 	    break;
 
 	case CASE_RM_TITLE:
@@ -4764,6 +4780,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
 		screen->title_modes = DEF_TITLE_MODES;
 	    }
 	    TRACE(("...title_modes %#x\n", screen->title_modes));
+	    ResetState(sp);
 	    break;
 
 	case CASE_CSI_IGNORE:
openSUSE Build Service is sponsored by