Blame SOURCES/screen-E3.patch

49a887
diff --git a/display.c b/display.c
49a887
index b11b18b..180f19c 100644
49a887
--- a/display.c
49a887
+++ b/display.c
49a887
@@ -3818,4 +3818,10 @@ char **cmdv;
49a887
 
49a887
 #endif /* BLANKER_PRG */
49a887
 
49a887
+void
49a887
+ClearScrollbackBuffer()
49a887
+{
49a887
+  if (D_CE3)
49a887
+    AddCStr(D_CE3);
49a887
+}
49a887
 
49a887
diff --git a/extern.h b/extern.h
49a887
index 7966008..e1ec242 100644
49a887
--- a/extern.h
49a887
+++ b/extern.h
49a887
@@ -316,6 +316,7 @@ extern int   color256to88 __P((int));
49a887
 extern void  ResetIdle __P((void));
49a887
 extern void  KillBlanker __P((void));
49a887
 extern void  DisplaySleep1000 __P((int, int));
49a887
+extern void  ClearScrollbackBuffer __P((void));
49a887
 
49a887
 /* resize.c */
49a887
 extern int   ChangeWindowSize __P((struct win *, int, int, int));
49a887
diff --git a/screen.c b/screen.c
49a887
index 64650e9..c68d949 100644
49a887
--- a/screen.c
49a887
+++ b/screen.c
49a887
@@ -1958,6 +1958,7 @@ void Detach(int mode)
49a887
 
49a887
     case D_LOCK:
49a887
       ClearAll();
49a887
+      ClearScrollbackBuffer();
49a887
       sign = SIG_LOCK;
49a887
       /* tell attacher to lock terminal with a lockprg. */
49a887
       break;
49a887
diff --git a/term.c b/term.c
49a887
index c92d85a..a6e9200 100644
49a887
--- a/term.c
49a887
+++ b/term.c
49a887
@@ -83,6 +83,7 @@ struct term term[T_N] =
49a887
   { "CD", T_STR  },
49a887
   { "ce", T_STR  },
49a887
   { "cb", T_STR  },
49a887
+  { "E3", T_STR  },
49a887
 
49a887
 /* initialise */
49a887
   { "is", T_STR  },