[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.34 and 1.41

version 1.34, 2006/03/22 00:52:55 version 1.41, 2018/09/07 00:28:53
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.33 2006/03/06 08:55:31 takayama Exp $ */  /* $OpenXM: OpenXM/src/kxx/ox_texmacs.c,v 1.40 2016/08/24 22:38:12 takayama Exp $ */
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 9 
Line 9 
 #include "serversm.h"  #include "serversm.h"
 #include "ox_pathfinder.h"  #include "ox_pathfinder.h"
   
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__) || defined(__MSYS__)
 #define JMP_BUF sigjmp_buf  #define JMP_BUF sigjmp_buf
 #define SETJMP(env)  sigsetjmp(env,1)  #define SETJMP(env)  MYSIGSETJMP(env,1)
 #define LONGJMP(env,p)  siglongjmp(env,p)  #define LONGJMP(env,p)  MYSIGLONGJMP(env,p)
 #else  #else
 #define JMP_BUF jmp_buf  #define JMP_BUF jmp_buf
 #define SETJMP(env)  setjmp(env)  #define SETJMP(env)  MYSETJMP(env)
 #define LONGJMP(env,p)  longjmp(env,p)  #define LONGJMP(env,p)  MYLONGJMP(env,p)
 #endif  #endif
   
 /*  /*
Line 28 
Line 28 
 #define  GENERIC      0   /* DEBUG, xml */  #define  GENERIC      0   /* DEBUG, xml */
 #define  V_TEXMACS    1  #define  V_TEXMACS    1
 #define  V_CFEP       2  #define  V_CFEP       2
   #define  V_QFEP       3
 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. */
     ""
 };  };
   
 /* todo:  start_of_input */  /* todo:  start_of_input */
Line 61  char *Data_end[] = {
Line 67  char *Data_end[] = {
 char End_of_input[] = {  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
 };  };
   
 /* Table for the engine type. */  /* Table for the engine type. */
Line 91  int EngineLogToStdout = 0;   /* Do not run the ox engi
Line 98  int EngineLogToStdout = 0;   /* Do not run the ox engi
 char *AsirInitFile = NULL;  char *AsirInitFile = NULL;
   
 char *LanguageResource = NULL;  char *LanguageResource = NULL;
   int TM_quiet = 0;
   
 void ctrlC();  void ctrlC();
 struct object KpoString(char *s);  struct object KpoString(char *s);
Line 142  main(int argc,char *argv[]) {
Line 150  main(int argc,char *argv[]) {
 #ifdef DEBUG2  #ifdef DEBUG2
   Dfp = fopen("/tmp/debug-texmacs.txt","w");    Dfp = fopen("/tmp/debug-texmacs.txt","w");
 #endif  #endif
   
     TM_quiet=0;
     for (i=1; i<argc; i++) {
       if (strcmp(argv[i],"--quiet")==0) {
         TM_quiet=1;
       }
     }
     /* Initialize kanlib (gc is also initialized) */
     if (TM_quiet) {
       KSstart_quiet();
     }else{
       KSstart();
     }
   /* Set consts */    /* Set consts */
   Quiet = 1;    Quiet = 1;
   for (i=1; i<argc; i++) {    for (i=1; i<argc; i++) {
Line 152  main(int argc,char *argv[]) {
Line 172  main(int argc,char *argv[]) {
         View = V_TEXMACS;          View = V_TEXMACS;
       }else if (strcmp(argv[i],"cfep")==0) {        }else if (strcmp(argv[i],"cfep")==0) {
         View = V_CFEP; setDefaultParameterForCfep();          View = V_CFEP; setDefaultParameterForCfep();
         }else if (strcmp(argv[i],"qfep")==0) {
           View = V_QFEP; setDefaultParameterForCfep();
       }else{        }else{
         View = GENERIC;          View = GENERIC;
         /* printv("Unknown view type.\n"); */          /* printv("Unknown view type.\n"); */
Line 182  main(int argc,char *argv[]) {
Line 204  main(int argc,char *argv[]) {
       i++;        i++;
       AsirInitFile = (char *)sGC_malloc(strlen(argv[i])+80);        AsirInitFile = (char *)sGC_malloc(strlen(argv[i])+80);
       sprintf(AsirInitFile,"%s",argv[i]);        sprintf(AsirInitFile,"%s",argv[i]);
       }else if (strcmp(argv[i],"--quiet") == 0) {
         /* it is already set. Ignore. */
     }else{      }else{
       /* printv("Unknown option\n"); */        /* printv("Unknown option\n"); */
     }      }
Line 194  main(int argc,char *argv[]) {
Line 218  main(int argc,char *argv[]) {
     exit(10);      exit(10);
   }    }
   
   /* Initialize kanlib (gc is also initialized) */  
   KSstart();  
   
   /* Main loop */    /* Main loop */
   printf("%s",Data_begin_v[View]);    printf("%s",Data_begin_v[View]);
Line 215  main(int argc,char *argv[]) {
Line 237  main(int argc,char *argv[]) {
   if (LanguageResource != NULL) KSexecuteString(LanguageResource);    if (LanguageResource != NULL) KSexecuteString(LanguageResource);
   startEngine(TM_Engine," ");    startEngine(TM_Engine," ");
   
   if (signal(SIGINT,SIG_IGN) != SIG_IGN) {    if (mysignal(SIGINT,SIG_IGN) != SIG_IGN) {
     signal(SIGINT,ctrlC);      mysignal(SIGINT,ctrlC);
   }    }
   
   irt = 0;    irt = 0;
Line 229  main(int argc,char *argv[]) {
Line 251  main(int argc,char *argv[]) {
         RestrictedMode = RestrictedMode_saved;          RestrictedMode = RestrictedMode_saved;
       }        }
       Calling_ctrlC_hook = 0;        Calling_ctrlC_hook = 0;
       if (signal(SIGINT,SIG_IGN) != SIG_IGN) {        if (mysignal(SIGINT,SIG_IGN) != SIG_IGN) {
         signal(SIGINT,ctrlC);          mysignal(SIGINT,ctrlC);
       }        }
       irt = 1;        irt = 1;
       continue;        continue;
Line 612  static int startEngine(int type,char *msg) {
Line 634  static int startEngine(int type,char *msg) {
     /* Initialize the setting of asir. */      /* Initialize the setting of asir. */
     if (AsirInitFile) {  /* cf. asir-contrib/packages/src/cfep-init.rr */      if (AsirInitFile) {  /* cf. asir-contrib/packages/src/cfep-init.rr */
           unsigned char *ss;            unsigned char *ss;
           ss = (unsigned char *)GC_malloc(strlen(AsirInitFile)+256);            ss = (unsigned char *)sGC_malloc(strlen(AsirInitFile)+256);
           sprintf((char *)ss," oxasir.ccc (load(\"%s\");) oxsubmit oxasir.ccc oxgeterrors length 0 gt { (Error in loading asirInitFile) message} { } ifelse ",AsirInitFile);            sprintf((char *)ss," oxasir.ccc (load(\"%s\");) oxsubmit oxasir.ccc oxgeterrors length 0 gt { (Error in loading asirInitFile) message} { } ifelse ",AsirInitFile);
           /* printf("Loading --asirInitFile %s\n",AsirInitFile); */            /* printf("Loading --asirInitFile %s\n",AsirInitFile); */
           KSexecuteString(ss);            KSexecuteString(ss);
     }      }
     KSexecuteString(" oxasir.ccc (if(1) {  Xm_server_mode = 1; Xm_helpdir = \"help-eg\";  } else { ; } ;) oxsubmit oxasir.ccc oxpopcmo ");      KSexecuteString(" oxasir.ccc (if(1) {  Xm_server_mode = 1; Xm_helpdir = \"help-en\";  } else { ; } ;) oxsubmit oxasir.ccc oxpopcmo ");
     KSexecuteString(" oxasir.ccc (if(1) {  ctrl(\"message\",0);  } else { ; } ;) oxsubmit oxasir.ccc oxpopcmo ");      KSexecuteString(" oxasir.ccc (if(1) {  ctrl(\"message\",0);  } else { ; } ;) oxsubmit oxasir.ccc oxpopcmo ");
     /* bug; if ctrl is written with Xm_helpdir = ... without oxpopcmo, then it does      /* bug; if ctrl is written with Xm_helpdir = ... without oxpopcmo, then it does
        not work. */         not work. */

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

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