=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/glob.c,v retrieving revision 1.12 retrieving revision 1.16 diff -u -p -r1.12 -r1.16 --- OpenXM_contrib2/asir2000/parse/glob.c 2000/12/05 01:24:57 1.12 +++ OpenXM_contrib2/asir2000/parse/glob.c 2001/03/19 00:44:02 1.16 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.11 2000/11/08 06:21:18 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.15 2001/03/16 01:54:55 noro Exp $ */ #include "ca.h" #include "al.h" @@ -94,7 +94,9 @@ FILE *ox_istream,*ox_ostream; int do_server_in_X11; Obj LastVal; char LastError[BUFSIZ]; +int timer_is_set; + struct oV oVAR[] = { {"x",0,0}, {"y",0,0}, {"z",0,0}, {"u",0,0}, {"v",0,0}, {"w",0,0}, {"p",0,0}, {"q",0,0}, @@ -219,6 +221,12 @@ int status; fputc(0xff,asir_out); if ( asir_out ) fflush(asir_out); +#if FEP + if ( do_fep ) { + stifle_history(MAXHIST); + write_history(asir_history); + } +#endif ExitAsir(); } } @@ -297,6 +305,10 @@ char **av; } else if ( !strcmp(*av,"-display") && (ac >= 2) ) { strcpy(displayname,*(av+1)); av += 2; ac -= 2; #endif +#if FEP + } else if ( !strcmp(*av,"-fep") ) { + do_fep = 1; av++; ac--; +#endif #if PARI } else if ( !strcmp(*av,"-paristack") ) { extern int paristack; @@ -308,6 +320,17 @@ char **av; asir_terminate(1); } } +#if FEP + if ( do_fep ) { + char *home; + home = (char *)getenv("HOME"); + if (!home) + home = "."; + sprintf (asir_history, "%s/.asir_history",home); + read_history(asir_history); + using_history(); + } +#endif } #include @@ -375,6 +398,9 @@ char *s; /* restore states */ reset_engine(); reset_io(); +#if !defined(VISUAL) + reset_timer(); +#endif longjmp(env,1); } @@ -585,6 +611,10 @@ char *s; { SNODE *snp; +#if !defined(VISUAL) + if ( timer_is_set ) + alrm_handler(SIGVTALRM); +#endif fprintf(stderr,"%s\n",s); set_lasterror(s); if ( CPVS != GPVS ) { @@ -628,6 +658,7 @@ int interval; it.it_value.tv_usec = 0; setitimer(ITIMER_VIRTUAL,&it,0); signal(SIGVTALRM,alrm_handler); + timer_is_set = 1; } void reset_timer() @@ -640,14 +671,21 @@ void reset_timer() it.it_value.tv_usec = 0; setitimer(ITIMER_VIRTUAL,&it,0); signal(SIGVTALRM,SIG_IGN); + timer_is_set = 0; } #endif unsigned int get_asir_version(); +char *get_asir_distribution(); void copyright() { - printf("This is Risa/Asir, Version %d.\n",get_asir_version()); - printf("Copyright (C) FUJITSU LABORATORIES LIMITED.\n"); - printf("1994-2000. All rights reserved.\n"); + printf("This is Risa/Asir, Version %d (%s Distribution).\n", + get_asir_version(), get_asir_distribution()); + printf("Copyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\n"); + printf("Copyright 2000,2001, Risa/Asir committers, http://www.openxm.org/.\n"); + printf("GC 5.3, copyright 1999, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n"); + printf("PARI 2.0.17(beta), copyright (C) 1989-1999,\n"); + printf(" C. Batut, K. Belabas, D. Bernardi, H. Cohen and M. Olivier.\n"); } +