From RDB: a few extra escape sequences seen in SCO terminals.
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 9 May 2001 13:35:08 +0000 (13:35 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 9 May 2001 13:35:08 +0000 (13:35 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@1106 cda61777-01e9-0310-a592-d414129be87e

terminal.c

index e1e9716..1fb7fce 100644 (file)
@@ -1056,8 +1056,16 @@ void term_out(void)
                paste_hold = 0;
                logtraffic((unsigned char) c, LGTYP_ASCII);
                break;
-             case '\013':
              case '\014':
+               if (has_compat(SCOANSI)) {
+                   move(0, 0, 0);
+                   erase_lots(FALSE, FALSE, TRUE);
+                   disptop = 0;
+                   wrapnext = FALSE;
+                   seen_disp_event = 1;
+                   break;
+               }
+             case '\013':
                compatibility(VT100);
              case '\n':
                if (curs.y == marg_b)
@@ -1615,6 +1623,20 @@ void term_out(void)
                            deselect();
                        }
                        break;
+                     case 'S':
+                       compatibility(SCOANSI);
+                       scroll(marg_t, marg_b, def(esc_args[0], 1), TRUE);
+                       fix_cpos;
+                       wrapnext = FALSE;
+                       seen_disp_event = TRUE;
+                       break;
+                     case 'T':
+                       compatibility(SCOANSI);
+                       scroll(marg_t, marg_b, -def(esc_args[0], 1), TRUE);
+                       fix_cpos;
+                       wrapnext = FALSE;
+                       seen_disp_event = TRUE;
+                       break;
                      case ANSI('|', '*'):
                        /* VT420 sequence DECSNLS
                         * Set number of lines on screen