[BACK]Return to ox_texmacs.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kxx

Diff for /OpenXM/src/kxx/ox_texmacs.c between version 1.41 and 1.42

version 1.41, 2018/09/07 00:28:53 version 1.42, 2018/09/07 01:21:31
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.40 2016/08/24 22:38:12 takayama Exp $ */  /* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.41 2018/09/07 00:28:53 takayama Exp $ */
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 29 
Line 29 
 #define  V_TEXMACS    1  #define  V_TEXMACS    1
 #define  V_CFEP       2  #define  V_CFEP       2
 #define  V_QFEP       3  #define  V_QFEP       3
   #define  V_SAGE       4
 int View       = V_TEXMACS ;  int View       = V_TEXMACS ;
   
 char *Data_begin_v[] = {  char *Data_begin_v[] = {
   "<S type=verbatim>",    "<S type=verbatim>",
   "\002verbatim:",    "\002verbatim:",
   "\002",    "\002",
     "",
   ""    ""
 };  };
 char *Data_begin_l[] = {  char *Data_begin_l[] = {
   "<S type=latex>",    "<S type=latex>",
   "\002latex:",    "\002latex:",
   "\002latex:",    "\002latex:",
     "",
   ""    ""
 };  };
 char *Data_begin_p[] = {  char *Data_begin_p[] = {
   "<S type=prompt>",    "<S type=prompt>",
   "\002prompt:",    "\002prompt:",
   "\002prompt:",    "\002prompt:",
     "",
   ""    ""
 };  };
 char *Data_begin_ps[] = {  char *Data_begin_ps[] = {
   "<S type=postscript>",    "<S type=postscript>",
   "\002ps:",    "\002ps:",
   "\002ps:",    "\002ps:",
     "",
   ""    ""
 };  };
 char *Data_end[] = {  char *Data_end[] = {
   "</S>",    "</S>",
   "\005",    "\005",
   "\n\005",    /* \n is not a part of the protocol. */    "\n\005",    /* \n is not a part of the protocol. */
   ""    "",
     ""           /* SAGE */
 };  };
   
 /* todo:  start_of_input */  /* todo:  start_of_input */
Line 68  char End_of_input[] = {
Line 74  char End_of_input[] = {
   0x5,              /* Use ^E and Return to end the input. */    0x5,              /* Use ^E and Return to end the input. */
   '\n',  /* TEXMACS_END_OF_INPUT. 0xd should be used for multiple lines. */    '\n',  /* TEXMACS_END_OF_INPUT. 0xd should be used for multiple lines. */
   0x5,    /* CFEP_END_OF_INPUT    */    0x5,    /* CFEP_END_OF_INPUT    */
   0x5    0x5,
     '\n'   /* SAGE cf. __init__ */
 };  };
   
   char *Prompt[]={
     "generic>", /* generic */
     "", /* texmacs */
     "",    /* cfep */
     "",   /* qfep */
     "\nasir>"    /* SAGE */
   };
   
   
 /* Table for the engine type. */  /* Table for the engine type. */
 #define ASIR          1  #define ASIR          1
 #define SM1           2  #define SM1           2
Line 114  static int startEngine(int type,char *msg);
Line 130  static int startEngine(int type,char *msg);
 static int isPS(char *s);  static int isPS(char *s);
 static int end_of_input(int c);  static int end_of_input(int c);
 static void setDefaultParameterForCfep();  static void setDefaultParameterForCfep();
   static void setDefaultParameterForSage();
   
 static void myEncoder(int c);  static void myEncoder(int c);
 static void myEncoderS(unsigned char *s);  static void myEncoderS(unsigned char *s);
Line 174  main(int argc,char *argv[]) {
Line 191  main(int argc,char *argv[]) {
         View = V_CFEP; setDefaultParameterForCfep();          View = V_CFEP; setDefaultParameterForCfep();
       }else if (strcmp(argv[i],"qfep")==0) {        }else if (strcmp(argv[i],"qfep")==0) {
         View = V_QFEP; setDefaultParameterForCfep();          View = V_QFEP; setDefaultParameterForCfep();
         }else if (strcmp(argv[i],"sage")==0) {
           View = V_SAGE; setDefaultParameterForSage();
       }else{        }else{
         View = GENERIC;          View = GENERIC;
         /* printv("Unknown view type.\n"); */          /* printv("Unknown view type.\n"); */
Line 258  main(int argc,char *argv[]) {
Line 277  main(int argc,char *argv[]) {
       continue;        continue;
     } else {  }      } else {  }
     if (!irt) {      if (!irt) {
       printf("%s",Data_end[View]); fflush(stdout);        if (View != V_SAGE) printf("%s",Data_end[View]); fflush(stdout);
     }      }
     irt = 0;      irt = 0;
   
     /* Reading the input. */      /* Reading the input. */
       printf("%s",Prompt[View]); fflush(stdout);
     if (TM_Engine == K0) {      if (TM_Engine == K0) {
       s=readString(stdin, " ", " "); /* see test data */        s=readString(stdin, " ", " "); /* see test data */
     }else if (TM_Engine == SM1) {      }else if (TM_Engine == SM1) {
Line 535  static int end_of_input(int c) {
Line 555  static int end_of_input(int c) {
 static void setDefaultParameterForCfep() {  static void setDefaultParameterForCfep() {
   Format = 0;    Format = 0;
 }  }
   static void setDefaultParameterForSage() {
     Format = 0;
   }
   
 static void printv(char *s) {  static void printv(char *s) {
   int i;    int i;
Line 573  static void printp(char *s) {
Line 596  static void printp(char *s) {
   fflush(NULL);    fflush(NULL);
 }  }
 static void printCopyright(char *s) {  static void printCopyright(char *s) {
   printf("%s",Data_begin_v[View]);  
   if (! NoCopyright) {    if (! NoCopyright) {
       printf("%s",Data_begin_v[View]);
     printf("OpenXM engine (ox engine) interface with TeXmacs protocol.\n2004 (C) openxm.org");      printf("OpenXM engine (ox engine) interface with TeXmacs protocol.\n2004 (C) openxm.org");
     printf(" under the BSD license.  !asir; !sm1; !k0; !verbatim; !quit;\n");      printf(" under the BSD license.  !asir; !sm1; !k0; !verbatim; !quit;\n");
     printf("Type in      !reset;     when the engine gets confused. ");      printf("Type in      !reset;     when the engine gets confused. ");
     printf("%s",s);      printf("%s",s);
       printf("%s",Data_end[View]);
   }    }
   printf("%s",Data_end[View]);  
   fflush(NULL);    fflush(NULL);
 }  }
   
Line 589  static void flushSm1() {
Line 612  static void flushSm1() {
 }  }
 static int startEngine(int type,char *msg) {  static int startEngine(int type,char *msg) {
   struct object ob = OINIT;    struct object ob = OINIT;
   printf("%s",Data_begin_v[View]);    if (!TM_quiet) printf("%s",Data_begin_v[View]);
   if (type == SM1) {    if (type == SM1) {
     if (!TM_sm1Started) KSexecuteString(" sm1connectr ");      if (!TM_sm1Started) KSexecuteString(" sm1connectr ");
     KSexecuteString(" /ox.engine oxsm1.ccc def ");      KSexecuteString(" /ox.engine oxsm1.ccc def ");
Line 645  static int startEngine(int type,char *msg) {
Line 668  static int startEngine(int type,char *msg) {
        not work. */         not work. */
     KSexecuteString(" oxasir.ccc (print(\"----------- Messages from asir ------------------------------\")$ ) oxsubmit oxasir.ccc oxpopcmo ");      KSexecuteString(" oxasir.ccc (print(\"----------- Messages from asir ------------------------------\")$ ) oxsubmit oxasir.ccc oxpopcmo ");
   }    }
   printf("%s",Data_end[View]);    if (!TM_quiet) printf("%s",Data_end[View]);
   fflush(NULL);    fflush(NULL);
 }  }
   

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>