chiark / gitweb /
*** empty log message ***
authorjames <james>
Thu, 7 Feb 2008 01:57:46 +0000 (01:57 +0000)
committerjames <james>
Thu, 7 Feb 2008 01:57:46 +0000 (01:57 +0000)
src/vt102.c

index 301e22436cd95b8c54089c4648b6953db9bbdeae..882574aa32cde8054dccb5211c9a847eb23fd0ce 100644 (file)
@@ -10,6 +10,9 @@ static char rcsid[] = "$Id$";
 
 /*
  * $Log$
+ * Revision 1.16  2008/02/07 01:57:46  james
+ * *** empty log message ***
+ *
  * Revision 1.15  2008/02/07 00:43:27  james
  * *** empty log message ***
  *
@@ -150,11 +153,6 @@ ESC)0
 
 CTRL-O
 
-ESC7
-ESC8
-ESCH
-ESCM
-ESC> 
 
 */
 
@@ -178,8 +176,6 @@ csi_starter (int c)
   switch (c)
     {
     case '[':
-    case '(':
-    case ')':
       return 1;
     }
   return 0;
@@ -478,9 +474,9 @@ vt102_change_mode (VT102 * v, int private, char *ns, int set)
         case VT102_PRIVATE_MODE_CURSOR_MODE:
           if (v->application_keypad_mode)
             v->private_modes[m] = 0;
-#if 0
-          fprintf (stderr, "APPLICATION CURSOR MODE %d\n",
-                   v->private_modes[m]);
+#if 1
+          fprintf (stderr, "APPLICATION CURSOR MODE %d wanted %d\n",
+                   v->private_modes[m],set);
 #endif
           break;
         case VT102_PRIVATE_MODE_ORIGIN_MODE:
@@ -658,6 +654,11 @@ vt102_restore_state (VT102 * v)
   v->pending_wrap = 0;
 }
 
+void vt102_scs(VT102 *c,int g,int s)
+{
+/*Ignoring charsets*/
+}
+
 void
 vt102_parse_esc (VT102 * v, int c)
 {
@@ -948,12 +949,20 @@ vt102_parse_char (VT102 * v, int c)
           p->in_csi++;
           p->in_escape = 0;
         }
+      else if (scs_starter(c)) {
+       p->in_scs=c;
+        p->in_escape = 0;
+       }
       else
         {
           p->in_escape = 0;
           vt102_parse_esc (v, c);
         }
     }
+  else if (p->in_scs) {
+       vt102_scs(v,p->in_scs,c);
+       p->in_scs=0;
+  }
   else
     {
 
@@ -987,7 +996,13 @@ vt102_parse_char (VT102 * v, int c)
           vt102_cursor_carriage_return (v);
           break;
          /*SO*/ case 14:
+               /*select G1*/
+               /*Ignoring charsets*/
+               break;
          /*SI*/ case 15:
+               /*select G0*/
+               /*Ignoring charsets*/
+               break;
          /*DLE*/ case 16:
         /*DC1 */ case 17:
         /*DC2 */ case 18:
@@ -1047,6 +1062,7 @@ vt102_parser_reset (VT102_parser * p)
   p->in_csi = 0;
   p->in_escape = 0;
   p->csi_ptr = 0;
+ p->in_scs=0;
 }