[comp.sources.misc] v16i016: Gnuplot 2.0 patch 2, 6 of 7

rjl@monu1.cc.monash.edu.au (Russell Lang) (01/05/91)

Submitted-by: Russell Lang <rjl@monu1.cc.monash.edu.au>
Posting-number: Volume 16, Issue 16
Archive-name: gnuplot2.02/patch6
Patch-To: gnuplot2.0: Volume 11, Issue 65-79

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  patch2e
# Wrapped by eln272v@monu1 on Wed Dec 19 11:58:05 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f patch2e -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"patch2e\"
else
echo shar: Extracting \"patch2e\" \(50691 characters\)
sed "s/^X//" >patch2e <<'END_OF_patch2e'
Xdiff -cr ./term.c ../gnuplot2.02/term.c
X*** ./term.c	Tue Sep 18 14:59:25 1990
X--- ../gnuplot2.02/term.c	Mon Dec 10 10:08:24 1990
X***************
X*** 29,34
X  
X  #include <stdio.h>
X  #include "plot.h"
X  #include "term.h"
X  
X  /* for use by all drivers */
X
X--- 29,35 -----
X  
X  #include <stdio.h>
X  #include "plot.h"
X+ #include "setshow.h"
X  #include "term.h"
X  #include "bitmap.h"
X  
X***************
X*** 30,35
X  #include <stdio.h>
X  #include "plot.h"
X  #include "term.h"
X  
X  /* for use by all drivers */
X  #define sign(x) ((x) >= 0 ? 1 : -1)
X
X--- 31,37 -----
X  #include "plot.h"
X  #include "setshow.h"
X  #include "term.h"
X+ #include "bitmap.h"
X  
X  /* for use by all drivers */
X  #define sign(x) ((x) >= 0 ? 1 : -1)
X***************
X*** 61,78
X  #ifdef __TURBOC__
X  char *turboc_init();
X  #endif
X! 
X! #ifdef vms
X! /* these are needed to sense a regis terminal and
X!  * to do a SET TERM/NOWRAP */
X! #include <descrip.h>
X! #include <dvidef.h>
X! #include <iodef.h>
X! #include <ttdef.h>
X! #include <tt2def.h>
X! static unsigned short   chan;
X! static int  old_char_buf[3], new_char_buf[3];
X! $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
X  char *vms_init();
X  #endif
X  
X
X--- 63,72 -----
X  #ifdef __TURBOC__
X  char *turboc_init();
X  #endif
X! #ifdef PC
X! void reopen_binary();
X! #endif
X! #ifdef VMS
X  char *vms_init();
X  void vms_reset();
X  void term_mode_tek();
X***************
X*** 74,79
X  static int  old_char_buf[3], new_char_buf[3];
X  $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
X  char *vms_init();
X  #endif
X  
X  
X
X--- 68,80 -----
X  #endif
X  #ifdef VMS
X  char *vms_init();
X+ void vms_reset();
X+ void term_mode_tek();
X+ void term_mode_native();
X+ void term_pasthru();
X+ void term_nopasthru();
X+ void reopen_binary();
X+ void fflush_binary();
X  #endif
X  
X  /* This is needed because the unixplot library only writes to stdout. */
X***************
X*** 76,82
X  char *vms_init();
X  #endif
X  
X- 
X  /* This is needed because the unixplot library only writes to stdout. */
X  #ifdef UNIXPLOT
X  FILE save_stdout;
X
X--- 77,82 -----
X  void fflush_binary();
X  #endif
X  
X  /* This is needed because the unixplot library only writes to stdout. */
X  #ifdef UNIXPLOT
X  FILE save_stdout;
X***************
X*** 225,235
X  
X  }
X  
X- #ifdef PC
X- #ifndef __TURBOC__
X- #define FONT57
X- #endif
X- #endif
X  
X  #ifdef NEC
X  #ifndef EPSON
X
X--- 225,230 -----
X  
X  }
X  
X  
X  #ifdef PC			/* all PC types */
X  #include "term/pc.trm"
X***************
X*** 231,279
X  #endif
X  #endif
X  
X- #ifdef NEC
X- #ifndef EPSON
X- #define EPSON
X- #endif
X- #endif
X- 
X- #ifdef PROPRINTER 
X- #ifndef EPSON
X- #define EPSON 
X- #endif
X- #endif
X- 
X- #ifdef STARC 
X- #ifndef EPSON
X- #define EPSON 
X- #endif
X- #endif
X- 
X- #ifdef TANDY60
X- #ifndef EPS60
X- #define EPS60
X- #endif
X- #endif
X- 
X- #ifdef EPS60
X- #ifndef EPSON
X- #define EPSON
X- #endif
X- #endif
X- 
X- #ifdef EPSON
X- #define FONT57
X- #endif
X- 
X- #ifdef UNIXPC
X- #define FONT57
X- #endif
X- 
X- #ifdef FONT57
X- #include "term/font5x7.trm"
X- #endif  /* FONT57  */
X- 
X- 
X  #ifdef PC			/* all PC types */
X  #include "term/pc.trm"
X  #endif
X
X--- 226,231 -----
X  }
X  
X  
X  #ifdef PC			/* all PC types */
X  #include "term/pc.trm"
X  #endif
X***************
X*** 279,285
X  #endif
X  
X  /*
X!    all TEK types (TEK,BITGRAPH,KERMIT,SELANAR) are ifdef'd in tek.trm,
X     but most require various TEK routines.  Hence TEK must be defined for
X     the others to compile.
X  */
X
X--- 231,237 -----
X  #endif
X  
X  /*
X!    all TEK types (TEK,BITGRAPH,KERMIT,VTTEK,SELANAR) are ifdef'd in tek.trm,
X     but most require various TEK routines.  Hence TEK must be defined for
X     the others to compile.
X  */
X***************
X*** 301,306
X  # endif
X  #endif
X  
X  #ifdef T410X		/* Tektronix 4106, 4107, 4109 and 420x terminals */
X  #include "term/t410x.trm"
X  #endif
X
X--- 253,264 -----
X  # endif
X  #endif
X  
X+ #ifdef VTTEK
X+ # ifndef TEK
X+ #  define TEK
X+ # endif
X+ #endif
X+ 
X  #ifdef T410X		/* Tektronix 4106, 4107, 4109 and 420x terminals */
X  #include "term/t410x.trm"
X  #endif
X***************
X*** 305,311
X  #include "term/t410x.trm"
X  #endif
X  
X! #ifdef TEK			/* all TEK types, TEK, BBN, SELANAR, KERMIT */
X  #include "term/tek.trm"
X  #endif
X  
X
X--- 263,269 -----
X  #include "term/t410x.trm"
X  #endif
X  
X! #ifdef TEK			/* all TEK types, TEK, BBN, SELANAR, KERMIT, VTTEK */
X  #include "term/tek.trm"
X  #endif
X  
X***************
X*** 313,320
X  #include "term/epson.trm"
X  #endif
X  
X! #ifdef EPS60		/* old-style EPSON 60-dpi */
X! #include "term/eps60.trm"
X  #endif
X  
X  #ifdef FIG				/* Fig 1.4FS Interactive graphics program */
X
X--- 271,278 -----
X  #include "term/epson.trm"
X  #endif
X  
X! #ifdef HPLJII		/* HP LaserJet II */
X! #include "term/hpljii.trm"
X  #endif
X  
X  #ifdef FIG				/* Fig 1.4FS Interactive graphics program */
X***************
X*** 346,351
X  #include "term/post.trm"
X  #endif
X  
X  #ifdef HPLJET		/* hplaserjet */
X  #include "term/hpljet.trm"
X  #endif
X
X--- 304,313 -----
X  #include "term/post.trm"
X  #endif
X  
X+ #ifdef PRESCRIBE	/* PRESCRIBE type */
X+ #include "term/kyo.trm"
X+ #endif
X+ 
X  #ifdef HPLJET		/* hplaserjet */
X  #include "term/hpljet.trm"
X  #endif
X***************
X*** 358,363
X  #include "term/aed.trm"
X  #endif /* AED */
X  
X  #ifdef HP2648
X  /* also works for HP2647 */
X  #include "term/hp2648.trm"
X
X--- 320,329 -----
X  #include "term/aed.trm"
X  #endif /* AED */
X  
X+ #ifdef CGI
X+ #include "term/cgi.trm"
X+ #endif /* CGI */
X+ 
X  #ifdef HP2648
X  /* also works for HP2647 */
X  #include "term/hp2648.trm"
X***************
X*** 594,599
X  	   null_justify_text, line_and_point, do_arrow}
X  #endif
X  
X  #ifdef DXY800A
X      ,{"dxy800a", "Roland DXY800A plotter",
X  	   DXY_XMAX, DXY_YMAX, DXY_VCHAR, DXY_HCHAR,
X
X--- 560,581 -----
X  	   null_justify_text, line_and_point, do_arrow}
X  #endif
X  
X+ #ifdef CGI
X+     ,{"cgi", "SCO CGI drivers (requires CGIDISP or CGIPRNT env variable)",
X+ 	   CGI_XMAX, CGI_YMAX, 0, 0, 
X+ 	   CGI_VTIC, 0, CGI_init, CGI_reset, 
X+ 	   CGI_text, null_scale, CGI_graphics, CGI_move, CGI_vector, 
X+ 	   CGI_linetype, CGI_put_text, CGI_text_angle, 
X+ 	   CGI_justify_text, CGI_point, do_arrow}
X+ 
X+     ,{"hcgi", "SCO CGI drivers (hardcopy, requires CGIPRNT env variable)",
X+ 	   CGI_XMAX, CGI_YMAX, 0, 0, 
X+ 	   CGI_VTIC, 0, HCGI_init, CGI_reset, 
X+ 	   CGI_text, null_scale, CGI_graphics, CGI_move, CGI_vector, 
X+ 	   CGI_linetype, CGI_put_text, CGI_text_angle, 
X+ 	   CGI_justify_text, CGI_point, do_arrow}
X+ #endif
X+ 
X  #ifdef DXY800A
X      ,{"dxy800a", "Roland DXY800A plotter",
X  	   DXY_XMAX, DXY_YMAX, DXY_VCHAR, DXY_HCHAR,
X***************
X*** 625,632
X  #ifdef EPS60
X      ,{"epson_60dpi", "Epson-style 60-dot per inch printers",
X  	   EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
X! 	   EPSONVTIC, EPSONHTIC, EPS60init, EPSONreset,
X! 	   EPS60text, null_scale, EPSONgraphics, EPSONmove, EPSONvector,
X  	   EPSONlinetype, EPSONput_text, EPSON_text_angle,
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X
X--- 607,614 -----
X  #ifdef EPS60
X      ,{"epson_60dpi", "Epson-style 60-dot per inch printers",
X  	   EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
X! 	   EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset,
X! 	   EPS60text, null_scale, EPS60graphics, EPSONmove, EPSONvector,
X  	   EPSONlinetype, EPSONput_text, EPSON_text_angle,
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X***************
X*** 632,638
X  #endif
X  
X  #ifdef EPSON
X!     ,{"epson_lx800", "Epson LX-800, Star NL-10, NX-1000 and lots of others",
X  	   EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
X  	   EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
X  	   EPSONtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
X
X--- 614,620 -----
X  #endif
X  
X  #ifdef EPSON
X!     ,{"epson_lx800", "Epson LX-800, Star NL-10, NX-1000, PROPRINTER ...",
X  	   EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
X  	   EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
X  	   EPSONtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
X***************
X*** 685,709
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X  
X! #ifdef HPLJET
X!     ,{"laserjet1", "HP Laserjet, smallest size",
X! 	   HPLJETXMAX, HPLJETYMAX, HPLJET1VCHAR, HPLJET1HCHAR, 
X! 	   HPLJETVTIC, HPLJETHTIC, HPLJET1init, HPLJETreset, 
X! 	   HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector,
X! 	   HPLJETlinetype, HPLJETput_text, null_text_angle, 
X! 	   null_justify_text, line_and_point, do_arrow}
X!     ,{"laserjet2", "HP Laserjet, medium size",
X! 	   HPLJETXMAX, HPLJETYMAX, HPLJET2VCHAR, HPLJET2HCHAR, 
X! 	   HPLJETVTIC, HPLJETHTIC, HPLJET2init, HPLJETreset, 
X! 	   HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector,
X! 	   HPLJETlinetype, HPLJETput_text, null_text_angle, 
X! 	   null_justify_text, line_and_point, do_arrow}
X!     ,{"laserjet3", "HP Laserjet, largest size",
X! 	   HPLJETXMAX, HPLJETYMAX, HPLJET3VCHAR, HPLJET3HCHAR, 
X! 	   HPLJETVTIC, HPLJETHTIC, HPLJET3init, HPLJETreset, 
X! 	   HPLJETtext, null_scale, HPLJETgraphics, HPLJETmove, HPLJETvector, 
X! 	   HPLJETlinetype, HPLJETput_text, null_text_angle, 
X! 	   null_justify_text, line_and_point, do_arrow}
X  #endif
X  
X  #ifdef IMAGEN
X
X--- 667,701 -----
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X  
X! #ifdef HPLJII
X!     ,{"hpljii_300ppi", "HP Laserjet series II with 300 pixels per inch",
X!        HPLJII_300PPI_XMAX, HPLJII_300PPI_YMAX, HPLJII_300PPI_VCHAR,
X!        HPLJII_300PPI_HCHAR, HPLJII_300PPI_VTIC, HPLJII_300PPI_HTIC,
X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
X!        HPLJII_300PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
X!        HPLJIIput_text, HPLJIItext_angle,  null_justify_text, line_and_point,
X!        do_arrow}
X!     ,{"hpljii_150ppi", "HP Laserjet series II with 150 pixels per inch",
X!        HPLJII_150PPI_XMAX, HPLJII_150PPI_YMAX, HPLJII_150PPI_VCHAR,
X!        HPLJII_150PPI_HCHAR, HPLJII_150PPI_VTIC, HPLJII_150PPI_HTIC,
X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
X!        HPLJII_150PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
X!        do_arrow}
X!     ,{"hpljii_100ppi", "HP Laserjet series II with 100 pixels per inch",
X!        HPLJII_100PPI_XMAX, HPLJII_100PPI_YMAX, HPLJII_100PPI_VCHAR,
X!        HPLJII_100PPI_HCHAR, HPLJII_100PPI_VTIC, HPLJII_100PPI_HTIC,
X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
X!        HPLJII_100PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
X!        do_arrow}
X!     ,{"hpljii_75ppi", "HP Laserjet series II with 75 pixels per inch",
X!        HPLJII_75PPI_XMAX, HPLJII_75PPI_YMAX, HPLJII_75PPI_VCHAR,
X!        HPLJII_75PPI_HCHAR, HPLJII_75PPI_VTIC, HPLJII_75PPI_HTIC,
X!        HPLJIIinit, HPLJIIreset, HPLJIItext, null_scale,
X!        HPLJII_75PPIgraphics, HPLJIImove, HPLJIIvector, HPLJIIlinetype,
X!        HPLJIIput_text, HPLJIItext_angle, null_justify_text, line_and_point,
X!        do_arrow}
X  #endif
X  
X  #ifdef IMAGEN
X***************
X*** 749,755
X  #endif
X  
X  #ifdef NEC
X!     ,{"nec_cp6m", "NEC printer CP6 Monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X  	   NECVTIC, NECHTIC, NECMinit, NECreset, 
X  	   NECtext, null_scale, NECgraphics, NECmove, NECvector, 
X
X--- 741,747 -----
X  #endif
X  
X  #ifdef NEC
X!     ,{"nec_cp6m", "NEC printer CP6, Epson LQ-800 Monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X  	   NECVTIC, NECHTIC, NECinit, NECreset, 
X  	   NECtext, null_scale, NECMgraphics, NECmove, NECvector, 
X***************
X*** 751,758
X  #ifdef NEC
X      ,{"nec_cp6m", "NEC printer CP6 Monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECMinit, NECreset, 
X! 	   NECtext, null_scale, NECgraphics, NECmove, NECvector, 
X  	   NECMlinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, line_and_point, do_arrow}
X      ,{"nec_cp6c", "NEC printer CP6 Color",
X
X--- 743,750 -----
X  #ifdef NEC
X      ,{"nec_cp6m", "NEC printer CP6, Epson LQ-800 Monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECinit, NECreset, 
X! 	   NECtext, null_scale, NECMgraphics, NECmove, NECvector, 
X  	   NECMlinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, line_and_point, do_arrow}
X      ,{"nec_cp6c", "NEC printer CP6 Color",
X***************
X*** 757,764
X  	   null_justify_text, line_and_point, do_arrow}
X      ,{"nec_cp6c", "NEC printer CP6 Color",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECCinit, NECreset, 
X! 	   NECtext, null_scale, NECgraphics, NECmove, NECvector, 
X  	   NECClinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, do_point, do_arrow}
X      ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
X
X--- 749,756 -----
X  	   null_justify_text, line_and_point, do_arrow}
X      ,{"nec_cp6c", "NEC printer CP6 Color",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECinit, NECreset, 
X! 	   NECtext, null_scale, NECCgraphics, NECmove, NECvector, 
X  	   NECClinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, do_point, do_arrow}
X      ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
X***************
X*** 761,767
X  	   NECtext, null_scale, NECgraphics, NECmove, NECvector, 
X  	   NECClinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, do_point, do_arrow}
X!     ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X  	   NECVTIC, NECHTIC, NECMinit, NECreset, 
X  	   NECdraft_text, null_scale, NECgraphics, NECmove, NECvector, 
X
X--- 753,759 -----
X  	   NECtext, null_scale, NECCgraphics, NECmove, NECvector, 
X  	   NECClinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, do_point, do_arrow}
X!     ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X  	   NECVTIC, NECHTIC, NECinit, NECreset, 
X  	   NECdraft_text, null_scale, NECMgraphics, NECmove, NECvector, 
X***************
X*** 763,770
X  	   null_justify_text, do_point, do_arrow}
X      ,{"nec_cp6d", "NEC printer CP6 Draft monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECMinit, NECreset, 
X! 	   NECdraft_text, null_scale, NECgraphics, NECmove, NECvector, 
X  	   NECMlinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, line_and_point, do_arrow}
X  #endif
X
X--- 755,762 -----
X  	   null_justify_text, do_point, do_arrow}
X      ,{"nec_cp6d", "NEC printer CP6, Epson LQ-800 Draft monochrome",
X  	   NECXMAX, NECYMAX, NECVCHAR, NECHCHAR, 
X! 	   NECVTIC, NECHTIC, NECinit, NECreset, 
X! 	   NECdraft_text, null_scale, NECMgraphics, NECmove, NECvector, 
X  	   NECMlinetype, NECput_text, NEC_text_angle, 
X  	   null_justify_text, line_and_point, do_arrow}
X  #endif
X***************
X*** 796,809
X  	   PS_justify_text, PS_point, do_arrow}
X  #endif
X  
X! #ifdef PROPRINTER
X!     ,{"proprinter", "IBM Proprinter",
X! 	   EPSONXMAX, EPSONYMAX, EPSONVCHAR, EPSONHCHAR, 
X! 	   EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset, 
X! 	   PROPRINTERtext, null_scale, EPSONgraphics, EPSONmove, EPSONvector, 
X! 	   EPSONlinetype, EPSONput_text, EPSON_text_angle, 
X! 	   null_justify_text, line_and_point, do_arrow}
X! #endif
X  
X  #ifdef QMS
X      ,{"qms", "QMS/QUIC Laser printer (also Talaris 1200 and others)",
X
X--- 788,807 -----
X  	   PS_justify_text, PS_point, do_arrow}
X  #endif
X  
X! #ifdef PRESCRIBE
X!     ,{"prescribe", "Prescribe - for the Kyocera Laser Printer",
X! 	PRE_XMAX, PRE_YMAX, PRE_VCHAR, PRE_HCHAR, 
X! 	PRE_VTIC, PRE_HTIC, PRE_init, PRE_reset, 
X! 	PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector, 
X! 	PRE_linetype, PRE_put_text, null_text_angle, 
X! 	PRE_justify_text, line_and_point, do_arrow}
X!     ,{"kyo", "Kyocera Laser Printer with Courier font",
X! 	PRE_XMAX, PRE_YMAX, KYO_VCHAR, KYO_HCHAR, 
X! 	PRE_VTIC, PRE_HTIC, KYO_init, PRE_reset, 
X! 	PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector, 
X! 	PRE_linetype, PRE_put_text, null_text_angle, 
X! 	PRE_justify_text, line_and_point, do_arrow}
X! #endif /* PRESCRIBE */
X  
X  #ifdef QMS
X      ,{"qms", "QMS/QUIC Laser printer (also Talaris 1200 and others)",
X***************
X*** 854,861
X  #ifdef TANDY60
X      ,{"tandy_60dpi", "Tandy DMP-130 series 60-dot per inch graphics",
X  	   EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
X! 	   EPSONVTIC, EPSONHTIC, EPS60init, EPSONreset,
X! 	   TANDY60text, null_scale, EPSONgraphics, EPSONmove, EPSONvector,
X  	   EPSONlinetype, EPSONput_text, EPSON_text_angle,
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X
X--- 852,859 -----
X  #ifdef TANDY60
X      ,{"tandy_60dpi", "Tandy DMP-130 series 60-dot per inch graphics",
X  	   EPS60XMAX, EPS60YMAX, EPSONVCHAR, EPSONHCHAR,
X! 	   EPSONVTIC, EPSONHTIC, EPSONinit, EPSONreset,
X! 	   TANDY60text, null_scale, EPS60graphics, EPSONmove, EPSONvector,
X  	   EPSONlinetype, EPSONput_text, EPSON_text_angle,
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X***************
X*** 905,910
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X  
X  #ifdef X11
X      ,{"x11", "X11 Window System",
X  	   X11_XMAX, X11_YMAX, X11_VCHAR, X11_HCHAR, 
X
X--- 903,917 -----
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X  
X+ #ifdef VTTEK
X+     ,{"vttek", "VT-like tek40xx terminal emulator",
X+        TEK40XMAX,TEK40YMAX,TEK40VCHAR, TEK40HCHAR,
X+        TEK40VTIC, TEK40HTIC, VTTEK40init, VTTEK40reset,
X+        TEK40text, null_scale, TEK40graphics, TEK40move, TEK40vector,
X+        VTTEK40linetype, VTTEK40put_text, null_text_angle,
X+        null_justify_text, line_and_point, do_arrow}
X+ #endif
X+ 
X  #ifdef X11
X      ,{"x11", "X11 Window System",
X  	   X11_XMAX, X11_YMAX, X11_VCHAR, X11_HCHAR, 
X***************
X*** 1014,1020
X  {
X      char *term_name = NULL;
X      int t;
X- #ifdef SUN  /* turbo C doesn't like unused variables */
X      char *term = NULL;		/* from TERM environment var */
X  #endif
X      char *gnuterm = NULL;
X
X--- 1021,1026 -----
X  {
X      char *term_name = NULL;
X      int t;
X      char *term = NULL;		/* from TERM environment var */
X  #ifdef X11
X      char *display = NULL;
X***************
X*** 1016,1021
X      int t;
X  #ifdef SUN  /* turbo C doesn't like unused variables */
X      char *term = NULL;		/* from TERM environment var */
X  #endif
X      char *gnuterm = NULL;
X  
X
X--- 1022,1029 -----
X      char *term_name = NULL;
X      int t;
X      char *term = NULL;		/* from TERM environment var */
X+ #ifdef X11
X+     char *display = NULL;
X  #endif
X      char *gnuterm = NULL;
X  
X***************
X*** 1026,1031
X      else {
X  #ifdef __TURBOC__
X  	   term_name = turboc_init();
X  #endif
X  	   
X  #ifdef vms
X
X--- 1034,1040 -----
X      else {
X  #ifdef __TURBOC__
X  	   term_name = turboc_init();
X+ 	   term = (char *)NULL; /* shut up turbo C */
X  #endif
X  	   
X  #ifdef vms
X***************
X*** 1039,1044
X  		term_name = "sun";
X  #endif /* sun */
X  
X  #ifdef UNIXPC
X             if (iswind() == 0) {
X                term_name = "unixpc";
X
X--- 1048,1063 -----
X  		term_name = "sun";
X  #endif /* sun */
X  
X+ #ifdef X11
X+ 	   term = getenv("TERM");	/* try $TERM */
X+ 	   if (term_name == (char *)NULL
X+ 		  && term != (char *)NULL && strcmp(term, "xterm") == 0)
X+ 		term_name = "x11";
X+ 	   display = getenv("DISPLAY");
X+ 	   if (term_name == (char *)NULL && display != (char *)NULL)
X+ 		term_name = "x11";
X+ #endif /* x11 */
X+ 
X  #ifdef UNIXPC
X             if (iswind() == 0) {
X                term_name = "unixpc";
X***************
X*** 1044,1049
X                term_name = "unixpc";
X             }
X  #endif /* unixpc */
X      }
X  
X      /* We have a name, try to set term type */
X
X--- 1063,1073 -----
X                term_name = "unixpc";
X             }
X  #endif /* unixpc */
X+ 
X+ #ifdef CGI
X+ 	   if (getenv("CGIDISP") || getenv("CGIPRNT"))
X+ 	     term_name = "cgi";
X+ #endif /*CGI */
X      }
X  
X      /* We have a name, try to set term type */
X***************
X*** 1103,1109
X  }
X  #endif /* __TURBOC__ */
X  
X- #ifdef vms
X  /*
X   * Determine if we have a regis terminal.  
X   * and do a SET TERM/NOWRAP
X
X--- 1127,1132 -----
X  }
X  #endif /* __TURBOC__ */
X  
X  /*
X  	This is always defined so we don't have to have command.c know if it
X  	is there or not.
X***************
X*** 1105,1178
X  
X  #ifdef vms
X  /*
X-  * Determine if we have a regis terminal.  
X-  * and do a SET TERM/NOWRAP
X- */
X- char *
X- vms_init()
X- {
X- char *term_str="tt:";
X- typedef struct
X-           {
X-           short cond_value;
X-           short count;
X-           int info;
X-           }  status_block;
X- typedef struct
X-           {
X-           short buffer_len;
X-           short item_code;
X-           int buffer_addr;
X-           int ret_len_addr;
X-           }  item_desc;
X- struct {
X-     item_desc dev_type;
X-       int terminator;
X-    }  dvi_list;
X-    int status, dev_type, zero=0;
X-    char buffer[255];
X-    $DESCRIPTOR(term_desc, term_str);
X- 
X- /* This does the equivalent of a SET TERM/NOWRAP command */
X-     int i;
X-     sys$assign(&sysoutput_desc,&chan,0,0);
X-     sys$qiow(0,chan,IO$_SENSEMODE,0,0,0,old_char_buf,12,0,0,0,0);
X-     for (i = 0 ; i < 3 ; ++i) new_char_buf[i] = old_char_buf[i];
X-     new_char_buf[1] &= ~(TT$M_WRAP);
X-     sys$qiow(0,chan,IO$_SETMODE,0,0,0,new_char_buf,12,0,0,0,0);
X-     sys$dassgn(chan);
X- 
X- /* set up dvi item list */
X- 	dvi_list.dev_type.buffer_len = 4;
X- 	dvi_list.dev_type.item_code = DVI$_TT_REGIS;
X- 	dvi_list.dev_type.buffer_addr = &dev_type;
X- 	dvi_list.dev_type.ret_len_addr = 0;
X- 
X- 	dvi_list.terminator = 0;
X- 
X- /* See what type of terminal we have. */
X- 	status = SYS$GETDVIW (0, 0, &term_desc, &dvi_list, 0, 0, 0, 0);
X- 	if ((status & 1) && dev_type) {
X- 		return("regis");
X- 	}
X-      return(NULL);
X- }
X- 
X- 
X- 
X- /*
X-  *  vms_reset
X-  */
X- vms_reset()
X- {
X-     /* set wrap back to original state */
X-     sys$assign(&sysoutput_desc,&chan,0,0);
X-     sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
X-     sys$dassgn(chan);
X- }
X- #endif /* VMS */
X- 
X- /*
X  	This is always defined so we don't have to have command.c know if it
X  	is there or not.
X  */
X
X--- 1128,1133 -----
X  #endif /* __TURBOC__ */
X  
X  /*
X  	This is always defined so we don't have to have command.c know if it
X  	is there or not.
X  */
X***************
X*** 1237,1242
X  	register struct termentry *t = &term_tbl[term];
X  	char *str;
X  	int x,y, xl,yl, i;
X  	char label[MAX_ID_LEN];
X  
X  	if (!term_init) {
X
X--- 1192,1198 -----
X  	register struct termentry *t = &term_tbl[term];
X  	char *str;
X  	int x,y, xl,yl, i;
X+ 	unsigned int xmax, ymax;
X  	char label[MAX_ID_LEN];
X  
X  	if (!term_init) {
X***************
X*** 1244,1249
X  	   term_init = TRUE;
X  	}
X  	screen_ok = FALSE;
X  	(*t->graphics)();
X  	/* border linetype */
X  	(*t->linetype)(-2);
X
X--- 1200,1208 -----
X  	   term_init = TRUE;
X  	}
X  	screen_ok = FALSE;
X+ 	(void)(*t->scale)(xsize, ysize);
X+ 	xmax = (unsigned int)(t->xmax * xsize);
X+ 	ymax = (unsigned int)(t->ymax * ysize);
X  	(*t->graphics)();
X  	/* border linetype */
X  	(*t->linetype)(-2);
X***************
X*** 1248,1256
X  	/* border linetype */
X  	(*t->linetype)(-2);
X  	(*t->move)(0,0);
X! 	(*t->vector)(t->xmax-1,0);
X! 	(*t->vector)(t->xmax-1,t->ymax-1);
X! 	(*t->vector)(0,t->ymax-1);
X  	(*t->vector)(0,0);
X  	(void) (*t->justify_text)(LEFT);
X  	(*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
X
X--- 1207,1215 -----
X  	/* border linetype */
X  	(*t->linetype)(-2);
X  	(*t->move)(0,0);
X! 	(*t->vector)(xmax-1,0);
X! 	(*t->vector)(xmax-1,ymax-1);
X! 	(*t->vector)(0,ymax-1);
X  	(*t->vector)(0,0);
X  	(void) (*t->justify_text)(LEFT);
X  	(*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
X***************
X*** 1253,1259
X  	(*t->vector)(0,t->ymax-1);
X  	(*t->vector)(0,0);
X  	(void) (*t->justify_text)(LEFT);
X! 	(*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
X  	/* axis linetype */
X  	(*t->linetype)(-1);
X  	(*t->move)(t->xmax/2,0);
X
X--- 1212,1218 -----
X  	(*t->vector)(0,ymax-1);
X  	(*t->vector)(0,0);
X  	(void) (*t->justify_text)(LEFT);
X! 	(*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
X  	/* axis linetype */
X  	(*t->linetype)(-1);
X  	(*t->move)(xmax/2,0);
X***************
X*** 1256,1265
X  	(*t->put_text)(t->h_char*5,t->ymax-t->v_char*3,"Terminal Test");
X  	/* axis linetype */
X  	(*t->linetype)(-1);
X! 	(*t->move)(t->xmax/2,0);
X! 	(*t->vector)(t->xmax/2,t->ymax-1);
X! 	(*t->move)(0,t->ymax/2);
X! 	(*t->vector)(t->xmax-1,t->ymax/2);
X  	/* test width and height of characters */
X  	(*t->linetype)(-2);
X  	(*t->move)(  t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
X
X--- 1215,1224 -----
X  	(*t->put_text)(t->h_char*5,ymax-t->v_char*3,"Terminal Test");
X  	/* axis linetype */
X  	(*t->linetype)(-1);
X! 	(*t->move)(xmax/2,0);
X! 	(*t->vector)(xmax/2,ymax-1);
X! 	(*t->move)(0,ymax/2);
X! 	(*t->vector)(xmax-1,ymax/2);
X  	/* test width and height of characters */
X  	(*t->linetype)(-2);
X  	(*t->move)(  xmax/2-t->h_char*10,ymax/2+t->v_char/2);
X***************
X*** 1262,1273
X  	(*t->vector)(t->xmax-1,t->ymax/2);
X  	/* test width and height of characters */
X  	(*t->linetype)(-2);
X! 	(*t->move)(  t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
X! 	(*t->vector)(t->xmax/2+t->h_char*10,t->ymax/2+t->v_char/2);
X! 	(*t->vector)(t->xmax/2+t->h_char*10,t->ymax/2-t->v_char/2);
X! 	(*t->vector)(t->xmax/2-t->h_char*10,t->ymax/2-t->v_char/2);
X! 	(*t->vector)(t->xmax/2-t->h_char*10,t->ymax/2+t->v_char/2);
X! 	(*t->put_text)(t->xmax/2-t->h_char*10,t->ymax/2,
X  		"12345678901234567890");
X  	/* test justification */
X  	(void) (*t->justify_text)(LEFT);
X
X--- 1221,1232 -----
X  	(*t->vector)(xmax-1,ymax/2);
X  	/* test width and height of characters */
X  	(*t->linetype)(-2);
X! 	(*t->move)(  xmax/2-t->h_char*10,ymax/2+t->v_char/2);
X! 	(*t->vector)(xmax/2+t->h_char*10,ymax/2+t->v_char/2);
X! 	(*t->vector)(xmax/2+t->h_char*10,ymax/2-t->v_char/2);
X! 	(*t->vector)(xmax/2-t->h_char*10,ymax/2-t->v_char/2);
X! 	(*t->vector)(xmax/2-t->h_char*10,ymax/2+t->v_char/2);
X! 	(*t->put_text)(xmax/2-t->h_char*10,ymax/2,
X  		"12345678901234567890");
X  	/* test justification */
X  	(void) (*t->justify_text)(LEFT);
X***************
X*** 1271,1277
X  		"12345678901234567890");
X  	/* test justification */
X  	(void) (*t->justify_text)(LEFT);
X! 	(*t->put_text)(t->xmax/2,t->ymax/2+t->v_char*6,"left justified");
X  	str = "centre+d text";
X  	if ((*t->justify_text)(CENTRE))
X  		(*t->put_text)(t->xmax/2,
X
X--- 1230,1236 -----
X  		"12345678901234567890");
X  	/* test justification */
X  	(void) (*t->justify_text)(LEFT);
X! 	(*t->put_text)(xmax/2,ymax/2+t->v_char*6,"left justified");
X  	str = "centre+d text";
X  	if ((*t->justify_text)(CENTRE))
X  		(*t->put_text)(xmax/2,
X***************
X*** 1274,1281
X  	(*t->put_text)(t->xmax/2,t->ymax/2+t->v_char*6,"left justified");
X  	str = "centre+d text";
X  	if ((*t->justify_text)(CENTRE))
X! 		(*t->put_text)(t->xmax/2,
X! 				t->ymax/2+t->v_char*5,str);
X  	else
X  		(*t->put_text)(t->xmax/2-strlen(str)*t->h_char/2,
X  				t->ymax/2+t->v_char*5,str);
X
X--- 1233,1240 -----
X  	(*t->put_text)(xmax/2,ymax/2+t->v_char*6,"left justified");
X  	str = "centre+d text";
X  	if ((*t->justify_text)(CENTRE))
X! 		(*t->put_text)(xmax/2,
X! 				ymax/2+t->v_char*5,str);
X  	else
X  		(*t->put_text)(xmax/2-strlen(str)*t->h_char/2,
X  				ymax/2+t->v_char*5,str);
X***************
X*** 1277,1284
X  		(*t->put_text)(t->xmax/2,
X  				t->ymax/2+t->v_char*5,str);
X  	else
X! 		(*t->put_text)(t->xmax/2-strlen(str)*t->h_char/2,
X! 				t->ymax/2+t->v_char*5,str);
X  	str = "right justified";
X  	if ((*t->justify_text)(RIGHT))
X  		(*t->put_text)(t->xmax/2,
X
X--- 1236,1243 -----
X  		(*t->put_text)(xmax/2,
X  				ymax/2+t->v_char*5,str);
X  	else
X! 		(*t->put_text)(xmax/2-strlen(str)*t->h_char/2,
X! 				ymax/2+t->v_char*5,str);
X  	str = "right justified";
X  	if ((*t->justify_text)(RIGHT))
X  		(*t->put_text)(xmax/2,
X***************
X*** 1281,1288
X  				t->ymax/2+t->v_char*5,str);
X  	str = "right justified";
X  	if ((*t->justify_text)(RIGHT))
X! 		(*t->put_text)(t->xmax/2,
X! 				t->ymax/2+t->v_char*4,str);
X  	else
X  		(*t->put_text)(t->xmax/2-strlen(str)*t->h_char,
X  				t->ymax/2+t->v_char*4,str);
X
X--- 1240,1247 -----
X  				ymax/2+t->v_char*5,str);
X  	str = "right justified";
X  	if ((*t->justify_text)(RIGHT))
X! 		(*t->put_text)(xmax/2,
X! 				ymax/2+t->v_char*4,str);
X  	else
X  		(*t->put_text)(xmax/2-strlen(str)*t->h_char,
X  				ymax/2+t->v_char*4,str);
X***************
X*** 1284,1291
X  		(*t->put_text)(t->xmax/2,
X  				t->ymax/2+t->v_char*4,str);
X  	else
X! 		(*t->put_text)(t->xmax/2-strlen(str)*t->h_char,
X! 				t->ymax/2+t->v_char*4,str);
X  	/* test text angle */
X  	str = "rotated ce+ntred text";
X  	if ((*t->text_angle)(1)) {
X
X--- 1243,1250 -----
X  		(*t->put_text)(xmax/2,
X  				ymax/2+t->v_char*4,str);
X  	else
X! 		(*t->put_text)(xmax/2-strlen(str)*t->h_char,
X! 				ymax/2+t->v_char*4,str);
X  	/* test text angle */
X  	str = "rotated ce+ntred text";
X  	if ((*t->text_angle)(1)) {
X***************
X*** 1291,1297
X  	if ((*t->text_angle)(1)) {
X  		if ((*t->justify_text)(CENTRE))
X  			(*t->put_text)(t->v_char,
X! 				t->ymax/2,str);
X  		else
X  			(*t->put_text)(t->v_char,
X  				t->ymax/2-strlen(str)*t->h_char/2,str);
X
X--- 1250,1256 -----
X  	if ((*t->text_angle)(1)) {
X  		if ((*t->justify_text)(CENTRE))
X  			(*t->put_text)(t->v_char,
X! 				ymax/2,str);
X  		else
X  			(*t->put_text)(t->v_char,
X  				ymax/2-strlen(str)*t->h_char/2,str);
X***************
X*** 1294,1300
X  				t->ymax/2,str);
X  		else
X  			(*t->put_text)(t->v_char,
X! 				t->ymax/2-strlen(str)*t->h_char/2,str);
X  	}
X  	else {
X  	    (void) (*t->justify_text)(LEFT);
X
X--- 1253,1259 -----
X  				ymax/2,str);
X  		else
X  			(*t->put_text)(t->v_char,
X! 				ymax/2-strlen(str)*t->h_char/2,str);
X  	}
X  	else {
X  	    (void) (*t->justify_text)(LEFT);
X***************
X*** 1298,1304
X  	}
X  	else {
X  	    (void) (*t->justify_text)(LEFT);
X! 	    (*t->put_text)(t->h_char*2,t->ymax/2-t->v_char*2,"Can't rotate text");
X  	}
X  	(void) (*t->justify_text)(LEFT);
X  	(void) (*t->text_angle)(0);
X
X--- 1257,1263 -----
X  	}
X  	else {
X  	    (void) (*t->justify_text)(LEFT);
X! 	    (*t->put_text)(t->h_char*2,ymax/2-t->v_char*2,"Can't rotate text");
X  	}
X  	(void) (*t->justify_text)(LEFT);
X  	(void) (*t->text_angle)(0);
X***************
X*** 1303,1313
X  	(void) (*t->justify_text)(LEFT);
X  	(void) (*t->text_angle)(0);
X  	/* test tic size */
X! 	(*t->move)(t->xmax/2+t->h_tic*2,0);
X! 	(*t->vector)(t->xmax/2+t->h_tic*2,t->v_tic);
X! 	(*t->move)(t->xmax/2,t->v_tic*2);
X! 	(*t->vector)(t->xmax/2+t->h_tic,t->v_tic*2);
X! 	(*t->put_text)(t->xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
X  	/* test line and point types */
X  	x = t->xmax - t->h_char*4 - t->h_tic*4;
X  	y = t->ymax - t->v_char;
X
X--- 1262,1272 -----
X  	(void) (*t->justify_text)(LEFT);
X  	(void) (*t->text_angle)(0);
X  	/* test tic size */
X! 	(*t->move)(xmax/2+t->h_tic*2,0);
X! 	(*t->vector)(xmax/2+t->h_tic*2,t->v_tic);
X! 	(*t->move)(xmax/2,t->v_tic*2);
X! 	(*t->vector)(xmax/2+t->h_tic,t->v_tic*2);
X! 	(*t->put_text)(xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
X  	/* test line and point types */
X  	x = xmax - t->h_char*4 - t->h_tic*4;
X  	y = ymax - t->v_char;
X***************
X*** 1309,1316
X  	(*t->vector)(t->xmax/2+t->h_tic,t->v_tic*2);
X  	(*t->put_text)(t->xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
X  	/* test line and point types */
X! 	x = t->xmax - t->h_char*4 - t->h_tic*4;
X! 	y = t->ymax - t->v_char;
X  	for ( i = -2; y > t->v_char; i++ ) {
X  		(*t->linetype)(i);
X  		(void) sprintf(label,"%d",i);
X
X--- 1268,1275 -----
X  	(*t->vector)(xmax/2+t->h_tic,t->v_tic*2);
X  	(*t->put_text)(xmax/2+t->h_tic*2,t->v_tic*2+t->v_char/2,"test tics");
X  	/* test line and point types */
X! 	x = xmax - t->h_char*4 - t->h_tic*4;
X! 	y = ymax - t->v_char;
X  	for ( i = -2; y > t->v_char; i++ ) {
X  		(*t->linetype)(i);
X  		(void) sprintf(label,"%d",i);
X***************
X*** 1326,1333
X  	}
X  	/* test some arrows */
X  	(*t->linetype)(0);
X! 	x = t->xmax/4;
X! 	y = t->ymax/4;
X  	xl = t->h_tic*5;
X  	yl = t->v_tic*5;
X  	(*t->arrow)(x,y,x+xl,y);
X
X--- 1285,1292 -----
X  	}
X  	/* test some arrows */
X  	(*t->linetype)(0);
X! 	x = xmax/4;
X! 	y = ymax/4;
X  	xl = t->h_tic*5;
X  	yl = t->v_tic*5;
X  	(*t->arrow)(x,y,x+xl,y);
X***************
X*** 1341,1343
X  	/* and back into text mode */
X  	(*t->text)();
X  }
X
X--- 1300,1519 -----
X  	/* and back into text mode */
X  	(*t->text)();
X  }
X+ 
X+ 
X+ #ifdef PC
X+ /* output for some terminal types must be binary to stop non Unix computers
X+    changing \n to \r\n. 
X+    If the output is not STDOUT, the following code reopens outfile 
X+    with binary mode. */
X+ void
X+ reopen_binary()
X+ {
X+ char filename[MAX_ID_LEN+1];
X+ 
X+ 	if (strcmp(outstr,"STDOUT")) {
X+ 		(void) fclose(outfile);
X+ 		(void) strcpy(filename,outstr+1);	/* remove quotes */
X+ 		filename[strlen(filename)-1] = '\0';
X+ 		if ( (outfile = fopen(filename,"wb")) == (FILE *)NULL ) {
X+ 			if ( (outfile = fopen(filename,"w")) == (FILE *)NULL ) {
X+ 				os_error("cannot reopen file with binary type; output unknown",
X+ 					NO_CARET);
X+ 			} 
X+ 			else {
X+ 	os_error("cannot reopen file with binary type; output reset to ascii", 
X+ 					NO_CARET);
X+ 			}
X+ 		}
X+ 	}
X+ }
X+ #endif
X+ 
X+ #ifdef VMS
X+ /* these are needed to modify terminal characteristics */
X+ #include <descrip.h>
X+ #include <iodef.h>
X+ #include <ttdef.h>
X+ #include <tt2def.h>
X+ #include <dcdef.h>
X+ #include <ssdef.h>
X+ #include <stat.h>
X+ #include <fab.h>
X+ static unsigned short   chan;
X+ static int  old_char_buf[3], cur_char_buf[3];
X+ $DESCRIPTOR(sysoutput_desc,"SYS$OUTPUT");
X+ 
X+ char *vms_init()
X+ /*
X+  * Determine if we have a regis terminal
X+  * and save terminal characteristics
X+ */
X+ {
X+    /* Save terminal characteristics in old_char_buf and
X+    initialise cur_char_buf to current settings. */
X+    int i;
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    sys$qiow(0,chan,IO$_SENSEMODE,0,0,0,old_char_buf,12,0,0,0,0);
X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
X+    sys$dassgn(chan);
X+ 
X+    /* Test if terminal is regis */
X+    if ((cur_char_buf[2] & TT2$M_REGIS) == TT2$M_REGIS) return("regis");
X+    return(NULL);
X+ }
X+ 
X+ void
X+ vms_reset()
X+ /* set terminal to original state */
X+ {
X+    int i;
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
X+    sys$dassgn(chan);
X+ }
X+ 
X+ void
X+ term_mode_tek()
X+ /* set terminal mode to tektronix */
X+ {
X+    long status;
X+    if (outfile != stdout) return; /* don't modify if not stdout */
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    cur_char_buf[0] = 0x004A0000 | DC$_TERM | (TT$_TEK401X<<8);
X+    cur_char_buf[1] = (cur_char_buf[1] & 0x00FFFFFF) | 0x18000000;
X+ 
X+    cur_char_buf[1] &= ~TT$M_CRFILL;
X+    cur_char_buf[1] &= ~TT$M_ESCAPE;
X+    cur_char_buf[1] &= ~TT$M_HALFDUP;
X+    cur_char_buf[1] &= ~TT$M_LFFILL;
X+    cur_char_buf[1] &= ~TT$M_MECHFORM;
X+    cur_char_buf[1] &= ~TT$M_NOBRDCST;
X+    cur_char_buf[1] &= ~TT$M_NOECHO;
X+    cur_char_buf[1] &= ~TT$M_READSYNC;
X+    cur_char_buf[1] &= ~TT$M_REMOTE;
X+    cur_char_buf[1] |= TT$M_LOWER;
X+    cur_char_buf[1] |= TT$M_TTSYNC;
X+    cur_char_buf[1] |= TT$M_WRAP;
X+    cur_char_buf[1] &= ~TT$M_EIGHTBIT;
X+    cur_char_buf[1] &= ~TT$M_MECHTAB;
X+    cur_char_buf[1] &= ~TT$M_SCOPE;
X+    cur_char_buf[1] |= TT$M_HOSTSYNC;
X+ 
X+    cur_char_buf[2] &= ~TT2$M_APP_KEYPAD;
X+    cur_char_buf[2] &= ~TT2$M_BLOCK;
X+    cur_char_buf[2] &= ~TT2$M_DECCRT3;
X+    cur_char_buf[2] &= ~TT2$M_LOCALECHO;
X+    cur_char_buf[2] &= ~TT2$M_PASTHRU;
X+    cur_char_buf[2] &= ~TT2$M_REGIS;
X+    cur_char_buf[2] &= ~TT2$M_SIXEL;
X+    cur_char_buf[2] |= TT2$M_BRDCSTMBX;
X+    cur_char_buf[2] |= TT2$M_EDITING;
X+    cur_char_buf[2] |= TT2$M_INSERT;
X+    cur_char_buf[2] |= TT2$M_PRINTER;
X+    cur_char_buf[2] &= ~TT2$M_ANSICRT;
X+    cur_char_buf[2] &= ~TT2$M_AVO;
X+    cur_char_buf[2] &= ~TT2$M_DECCRT;
X+    cur_char_buf[2] &= ~TT2$M_DECCRT2;
X+    cur_char_buf[2] &= ~TT2$M_DRCS;
X+    cur_char_buf[2] &= ~TT2$M_EDIT;
X+    cur_char_buf[2] |= TT2$M_FALLBACK;
X+ 
X+    status = sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
X+    if (status == SS$_BADPARAM) {
X+       /* terminal fallback utility not installed on system */
X+       cur_char_buf[2] &= ~TT2$M_FALLBACK;
X+       sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
X+    }
X+    else {
X+       if (status != SS$_NORMAL)
X+          lib$signal(status,0,0);
X+    }
X+    sys$dassgn(chan);
X+ }
X+ 
X+ void
X+ term_mode_native()
X+ /* set terminal mode back to native */
X+ {
X+    int i;
X+    if (outfile != stdout) return; /* don't modify if not stdout */
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,old_char_buf,12,0,0,0,0);
X+    for (i = 0 ; i < 3 ; ++i) cur_char_buf[i] = old_char_buf[i];
X+    sys$dassgn(chan);
X+ }
X+ 
X+ void
X+ term_pasthru()
X+ /* set terminal mode pasthru */
X+ {
X+    if (outfile != stdout) return; /* don't modify if not stdout */
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    cur_char_buf[2] |= TT2$M_PASTHRU;
X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
X+    sys$dassgn(chan);
X+ }
X+ 
X+ void
X+ term_nopasthru()
X+ /* set terminal mode nopasthru */
X+ {
X+    if (outfile != stdout) return; /* don't modify if not stdout */
X+    sys$assign(&sysoutput_desc,&chan,0,0);
X+    cur_char_buf[2] &= ~TT2$M_PASTHRU;
X+    sys$qiow(0,chan,IO$_SETMODE,0,0,0,cur_char_buf,12,0,0,0,0);
X+    sys$dassgn(chan);
X+ }
X+ 
X+ void
X+ reopen_binary()
X+ /* close the file outfile outfile and reopen it with binary type
X+    if not already done or outfile == stdout */
X+ {
X+    stat_t stat_buf;
X+    char filename[MAX_ID_LEN+1];
X+    if (outfile != stdout) { /* don't modify if not stdout */
X+       if (!fstat(fileno(outfile),&stat_buf)) {
X+          if (stat_buf.st_fab_rfm != FAB$C_FIX) {
X+             /* modify only if not already done */
X+             (void) fclose(outfile);
X+             (void) strcpy(filename,outstr+1);   /* remove quotes */
X+             filename[strlen(filename)-1] = '\0';
X+             (void) delete(filename);
X+             if ((outfile = fopen(filename,"wb","rfm=fix","bls=512","mrs=512"))
X+                 == (FILE *)NULL ) {
X+                if ( (outfile = fopen(filename,"w")) == (FILE *)NULL ) {
X+                  os_error("cannot reopen file with binary type; output unknown",
X+                            NO_CARET);
X+                }
X+                else {
X+           os_error("cannot reopen file with binary type; output reset to ascii",
X+                            NO_CARET);
X+                }
X+             }
X+          }
X+       }
X+       else{
X+          os_error("cannot reopen file with binary type; output remains ascii",
X+                   NO_CARET);
X+       }
X+    }
X+ }
X+ 
X+ void
X+ fflush_binary()
X+ {
X+    typedef short int INT16;     /* signed 16-bit integers */
X+    register INT16 k;            /* loop index */
X+    if (outfile != stdout) {
X+        /* Stupid VMS fflush() raises error and loses last data block
X+           unless it is full for a fixed-length record binary file.
X+           Pad it here with NULL characters. */
X+        for (k = (INT16)((*outfile)->_cnt); k > 0; --k)
X+           putc('\0',outfile);
X+        fflush(outfile);
X+    }
X+ }
X+ #endif
Xdiff -cr ./term.h ../gnuplot2.02/term.h
X*** ./term.h	Tue Sep 18 14:59:21 1990
X--- ../gnuplot2.02/term.h	Tue Dec 11 16:41:23 1990
X***************
X*** 39,45
X  
X  #define AED         /* AED 512 and AED 767 */
X  #define BITGRAPH    /* BBN BitGraph */
X! #define HPLJET		/* HP Laserjet */
X  /* #define IRIS4D      /* IRIS4D series computer */
X  #define KERMIT      /* MS-Kermit Tektronix 4010 emulator */
X  /* #define FIG 	  	/* Fig graphics language (requires object.h from TransFig) */
X
X--- 39,45 -----
X  
X  #define AED         /* AED 512 and AED 767 */
X  #define BITGRAPH    /* BBN BitGraph */
X! /* #define CGI         /* SCO CGI */
X  /* #define IRIS4D      /* IRIS4D series computer */
X  #define KERMIT      /* MS-Kermit Tektronix 4010 emulator */
X  /* #define FIG 	  	/* Fig graphics language (requires object.h from TransFig) */
X***************
X*** 50,55
X  #define TEK         /* Tektronix 4010, and probably others */
X  /* #define UNIXPC      /* unixpc (ATT 3b1 or ATT 7300) */
X  /* #define UNIXPLOT    /* unixplot */
X  /* #define X11         /* X11R4 window system */
X  
X  #endif 
X
X--- 50,56 -----
X  #define TEK         /* Tektronix 4010, and probably others */
X  /* #define UNIXPC      /* unixpc (ATT 3b1 or ATT 7300) */
X  /* #define UNIXPLOT    /* unixplot */
X+ #define VTTEK       /* VT-like tek40xx emulators */
X  /* #define X11         /* X11R4 window system */
X  
X  #endif 
X***************
X*** 64,69
X  #define HP26		/* HP2623A and maybe others */
X  #define HP75		/* HP7580, and probably other HPs */
X  #define HPGL		/* HP7475, HP7220 plotters, and (hopefully) lots of others */
X  #define IMAGEN  	/* Imagen laser printers (300dpi) (requires -Iterm also) */
X  #define LATEX       /* LATEX picture environment */
X  #define NEC         /* NEC CP6 pinwriter printer */
X
X--- 65,71 -----
X  #define HP26		/* HP2623A and maybe others */
X  #define HP75		/* HP7580, and probably other HPs */
X  #define HPGL		/* HP7475, HP7220 plotters, and (hopefully) lots of others */
X+ #define HPLJII		/* HP LaserJet II */
X  #define IMAGEN  	/* Imagen laser printers (300dpi) (requires -Iterm also) */
X  #define LATEX       /* LATEX picture environment */
X  #define NEC         /* NEC CP6 pinwriter printer */
X***************
X*** 68,74
X  #define LATEX       /* LATEX picture environment */
X  #define NEC         /* NEC CP6 pinwriter printer */
X  #define POSTSCRIPT  /* Postscript */
X! #define PROPRINTER  /* IBM Proprinter */
X  #define QMS         /* QMS/QUIC laserprinter (Talaris 1200 and others) */
X  #define STARC       /* Star Color Printer */
X  #define TANDY60		/* Tandy DMP-130 series 60-dot per inch graphics */
X
X--- 70,76 -----
X  #define LATEX       /* LATEX picture environment */
X  #define NEC         /* NEC CP6 pinwriter printer */
X  #define POSTSCRIPT  /* Postscript */
X! #define PRESCRIBE   /* Kyocera Laser printer */
X  #define QMS         /* QMS/QUIC laserprinter (Talaris 1200 and others) */
X  #define STARC       /* Star Color Printer */
X  #define TANDY60		/* Tandy DMP-130 series 60-dot per inch graphics */
XCommon subdirectories: ./translate and ../gnuplot2.02/translate
Xdiff -cr ./util.c ../gnuplot2.02/util.c
X*** ./util.c	Tue Mar 27 09:02:13 1990
X--- ../gnuplot2.02/util.c	Tue Dec  4 12:09:17 1990
X***************
X*** 324,329
X  	}
X  	int_error("unknown type in real()",NO_CARET);
X  	/* NOTREACHED */
X  }
X  
X  
X
X--- 324,330 -----
X  	}
X  	int_error("unknown type in real()",NO_CARET);
X  	/* NOTREACHED */
X+ 	return((double)0.0);
X  }
X  
X  
X***************
X*** 339,344
X  	}
X  	int_error("unknown type in real()",NO_CARET);
X  	/* NOTREACHED */
X  }
X  
X  
X
X--- 340,346 -----
X  	}
X  	int_error("unknown type in real()",NO_CARET);
X  	/* NOTREACHED */
X+ 	return((double)0.0);
X  }
X  
X  
X***************
X*** 360,365
X  	}
X  	int_error("unknown type in magnitude()",NO_CARET);
X  	/* NOTREACHED */
X  }
X  
X  
X
X--- 362,368 -----
X  	}
X  	int_error("unknown type in magnitude()",NO_CARET);
X  	/* NOTREACHED */
X+ 	return((double)0.0);
X  }
X  
X  
X***************
X*** 385,390
X  	}
X  	int_error("unknown type in angle()",NO_CARET);
X  	/* NOTREACHED */
X  }
X  
X  
X
X--- 388,394 -----
X  	}
X  	int_error("unknown type in angle()",NO_CARET);
X  	/* NOTREACHED */
X+ 	return((double)0.0);
X  }
X  
X  
Xdiff -cr ./version.c ../gnuplot2.02/version.c
X*** ./version.c	Tue Sep 18 14:47:22 1990
X--- ../gnuplot2.02/version.c	Wed Dec 19 09:24:06 1990
X***************
X*** 1,6
X! char version[] = "2.0";
X! char patchlevel[] = "1";
X! char date[] = "Tue Sep 18 14:46:32 EST 1990";
X  
X  /* override in Makefile */
X  #ifndef CONTACT
X
X--- 1,6 -----
X! char version[] = "2.0 ";
X! char patchlevel[] = "2";
X! char date[] = "Wed Dec 19 09:23:59 EST 1990";
X  
X  /* override in Makefile */
X  #ifndef CONTACT
Xdiff -cr ./demo/param.demo ../gnuplot2.02/demo/param.demo
X*** ./demo/param.demo	Fri Nov 23 17:50:22 1990
X--- ../gnuplot2.02/demo/param.demo	Fri Nov 23 16:52:51 1990
X***************
X*** 0
X
X--- 1,46 -----
X+ #
X+ # Show some of the new parametric capabilities.
X+ #
X+ set parametric
X+ set dummy t
X+ set autoscale
X+ set samples 160
X+ set title ""
X+ plot t,sin(t)/t title "t,sin(t)/t or sin(x)/x"
X+ pause -1 "Hit return"
X+ 
X+ plot sin(t)/t,t
X+ pause -1 "Hit return"
X+ 
X+ plot sin(t),cos(t)
X+ pause -1 "Hit return"
X+ 
X+ set xrange [-3:3]
X+ set yrange [-3:3]
X+ set title "Parametric Conic Sections"
X+ plot -t,t,cos(t),cos(2*t),2*cos(t),sin(t),-cosh(t),sinh(t)
X+ set title ""
X+ pause -1 "Hit return"
X+ 
X+ set xrange [-5:5]
X+ set yrange [-5:5]
X+ plot tan(t),t,t,tan(t)
X+ pause -1 "Hit return"
X+ 
X+ set trange [-3:3]
X+ plot t,log(t),-t,log(t),sin(t),t**2
X+ pause -1 "Hit return"
X+ 
X+ set autoscale x
X+ set yrange [-1.5:1.5]
X+ set trange [0:10*pi]
X+ plot sin(t)/t,cos(t)/t
X+ pause -1 "Hit return"
X+ 
X+ # undo what we've done above
X+ set noparametric
X+ set samples 160
X+ set autoscale xy
X+ set title ""
X+ set offset 0,0,0,0
X+ set key
Xdiff -cr ./demo/using.dat ../gnuplot2.02/demo/using.dat
X*** ./demo/using.dat	Tue Nov 27 09:19:54 1990
X--- ../gnuplot2.02/demo/using.dat	Mon Nov 26 02:15:31 1990
X***************
X*** 0
X
X--- 1,168 -----
X+ 891101 00   1.00  14   8.6  94.0
X+ 891101 01   1.04  10  17.5  94.4
X+ 891101 02   1.08   9   9.7  97.1
X+ 891101 03   1.13   9  10.1  94.3
X+ 891101 04   1.17   9   5.7  98.3
X+ 891101 05   1.21   8   8.1  99.7
X+ 891101 06   1.25   7   3.2  99.6
X+ 891101 07   1.29   6   2.5  99.8
X+ 891101 08   1.33  20   2.3  99.4
X+ 891101 09   1.38  30   3.5  96.1
X+ 891101 10   1.42  37   7.7  96.4
X+ 891101 11   1.46  36   9.8  97.4
X+ 891101 12   1.50  30   8.8  97.4
X+ 891101 13   1.54  32   9.1  96.5
X+ 891101 14   1.58  37   6.3  97.0
X+ 891101 15   1.63  35   6.1  97.3
X+ 891101 16   1.67  41   8.6  97.2
X+ 891101 17   1.71  28   7.6  97.3
X+ 891101 18   1.75  16   4.3  97.6
X+ 891101 19   1.79  21   4.2  97.5
X+ 891101 20   1.83  20   5.6  96.9
X+ 891101 21   1.88  24   6.6  96.2
X+ 891101 22   1.92  19   5.8  97.1
X+ 891101 23   1.96  16   7.4  97.1
X+ 891102 00   2.00  13   7.4  96.4
X+ 891102 01   2.04   8   6.6  95.6
X+ 891102 02   2.08   6   7.4  94.1
X+ 891102 03   2.13   6   6.4  95.9
X+ 891102 04   2.17   7   6.4  95.5
X+ 891102 05   2.21   6   6.7  95.5
X+ 891102 06   2.25   6   6.3  94.6
X+ 891102 07   2.29   7   6.5  93.1
X+ 891102 08   2.33  15   6.5  92.8
X+ 891102 09   2.38  22   7.2  93.2
X+ 891102 10   2.42  31   9.1  93.9
X+ 891102 11   2.46  37  11.0  95.6
X+ 891102 12   2.50  40   9.8  98.7
X+ 891102 13   2.54  45   9.5  97.3
X+ 891102 14   2.58  46  11.4  98.5
X+ 891102 15   2.63  46  11.9  99.1
X+ 891102 16   2.67  43  13.0  98.8
X+ 891102 17   2.71  28  14.5  99.1
X+ 891102 18   2.75  25  13.4  99.1
X+ 891102 19   2.79  24   9.9  99.7
X+ 891102 20   2.83  25   8.1  99.5
X+ 891102 21   2.88  24  10.3  99.4
X+ 891102 22   2.92  24  12.0  98.7
X+ 891102 23   2.96  23  18.2  98.7
X+ 891103 00   3.00  20  16.8  99.0
X+ 891103 01   3.04  16  14.8  99.2
X+ 891103 02   3.08  17  15.5  98.0
X+ 891103 03   3.13  17  14.4  99.4
X+ 891103 04   3.17  16  14.4  99.4
X+ 891103 05   3.21  14  11.3  99.4
X+ 891103 06   3.25  13   8.0  99.7
X+ 891103 07   3.29  13   6.1  99.9
X+ 891103 08   3.33  18   6.4  99.8
X+ 891103 09   3.38  31   6.5  98.9
X+ 891103 10   3.42  39   7.5  99.0
X+ 891103 11   3.46  37   9.1  98.8
X+ 891103 12   3.50  33   9.0  99.2
X+ 891103 13   3.54  40  10.4  98.7
X+ 891103 14   3.58  45  12.9  98.3
X+ 891103 15   3.63  45  13.8  98.5
X+ 891103 16   3.67  37  16.1  98.9
X+ 891103 17   3.71  29  16.0  99.3  57
X+ 891103 18   3.75  21  17.4  97.9  55
X+ 891103 19   3.79  14  14.6  97.7
X+ 891103 20   3.83  11  14.3  97.8  57
X+ 891103 21   3.88  15  14.7  96.2  59
X+ 891103 22   3.92  10  12.8  95.1  57
X+ 891103 23   3.96   8  10.2  97.6
X+ 891104 00   4.00   6   7.3  98.6
X+ 891104 01   4.04   4   4.7  99.8
X+ 891104 02   4.08   3   3.4  98.0
X+ 891104 03   4.13   4   2.9  99.6
X+ 891104 04   4.17   4   2.1  99.8
X+ 891104 05   4.21   4  11.7  99.9
X+ 891104 06   4.25   4   4.5  99.9
X+ 891104 07   4.29   4   1.6  88.4
X+ 891104 08   4.33   4   1.3  65.2
X+ 891104 09   4.38   7   1.4  71.4
X+ 891104 10   4.42   9   1.3  70.7
X+ 891104 11   4.46  14   8.1  99.5
X+ 891104 12   4.50  12   4.2  75.3
X+ 891104 13   4.54  18  10.9  95.3
X+ 891104 14   4.58  16   7.1  87.6
X+ 891104 15   4.63  18   3.3  98.9
X+ 891104 16   4.67  15   3.4  99.6
X+ 891104 17   4.71   8   2.4  99.9
X+ 891104 18   4.75   8   2.2  99.8
X+ 891104 19   4.79  11   2.2  99.7
X+ 891104 20   4.83  14   2.3  99.7
X+ 891104 21   4.88  13   2.5  99.7
X+ 891104 22   4.92  10   3.1  99.8
X+ 891104 23   4.96  12   4.5  99.7
X+ 891105 00   5.00   9   4.8  99.7
X+ 891105 01   5.04   8   4.9  99.8
X+ 891105 02   5.08   5   5.7  97.5
X+ 891105 03   5.13   5   5.2  97.6
X+ 891105 04   5.17   4   3.3  85.9
X+ 891105 05   5.21   5   1.2  71.4
X+ 891105 06   5.25   5   1.1  61.8
X+ 891105 07   5.29   5   1.0  71.8
X+ 891105 08   5.33   5   1.0  55.7
X+ 891105 09   5.38   6   1.0  62.2
X+ 891105 10   5.42   7   1.1  61.9
X+ 891105 11   5.46   9   1.4  65.6
X+ 891105 12   5.50  14   2.8  99.6
X+ 891105 13   5.54  16   2.1  94.0
X+ 891105 14   5.58  16   2.2  85.1
X+ 891105 15   5.63  17   2.5  99.7
X+ 891105 16   5.67  19   2.2  90.8
X+ 891105 17   5.71  16   1.5  61.3
X+ 891105 18   5.75  12   1.6  71.8
X+ 891105 19   5.79  16   2.8  98.3
X+ 891105 20   5.83  17   3.3  88.8
X+ 891105 21   5.88  18   1.3  56.5
X+ 891105 22   5.92  20   0.9  38.8
X+ 891105 23   5.96  12   1.1  50.8
X+ 891106 00   6.00  10   2.2  68.4
X+ 891106 01   6.04   8   1.2  54.4
X+ 891106 02   6.08   8   1.6  58.4
X+ 891106 03   6.13   7   1.1  52.2
X+ 891106 04   6.17   6   1.1  56.4
X+ 891106 05   6.21   6   1.2  55.7
X+ 891106 06   6.25   6   1.0  46.2
X+ 891106 07   6.29   7   0.5   7.2
X+ 891106 08   6.33  17   0.7  13.8
X+ 891106 09   6.38  31   1.1  41.5
X+ 891106 10   6.42  37   1.5  52.7
X+ 891106 11   6.46  36   3.1  83.7
X+ 891106 12   6.50  29   2.0  70.0
X+ 891106 13   6.54  28   1.6  71.4
X+ 891106 14   6.58  38   3.1  99.1
X+ 891106 15   6.63  39   5.6  98.2
X+ 891106 16   6.67  43   5.7  98.7  59
X+ 891106 17   6.71  27   5.7  99.4
X+ 891106 18   6.75  15   4.3  99.8
X+ 891106 19   6.79  17   4.1  99.7
X+ 891106 20   6.83  20   2.9  99.3
X+ 891106 21   6.88  16   3.1  96.3
X+ 891106 22   6.92  16   2.8  86.1
X+ 891106 23   6.96  16   3.3  96.5
X+ 891107 00   7.00  12   3.2  98.2
X+ 891107 01   7.04  12   1.6  77.7
X+ 891107 02   7.08  10   3.0  98.7
X+ 891107 03   7.13   8   1.7  71.1
X+ 891107 04   7.17   8   2.8  81.4
X+ 891107 05   7.21   8   5.4  92.4
X+ 891107 06   7.25   9   5.3  87.7
X+ 891107 07   7.29  11   5.6  94.0
X+ 891107 08   7.33  15   2.0  74.0
X+ 891107 09   7.38  25   2.7  84.3
X+ 891107 10   7.42  32   3.0  92.9
X+ 891107 11   7.46  41   5.5  97.4
X+ 891107 12   7.50  39   6.5  97.5
X+ 891107 13   7.54  31   4.4  95.9
X+ 891107 14   7.58  35   7.3  98.6
X+ 891107 15   7.63  37   8.3  96.3
X+ 891107 16   7.67  34   9.2  97.6
X+ 891107 17   7.71  20   7.5  99.3
X+ 891107 18   7.75  14   7.1  99.5
X+ 891107 19   7.79  15   7.1  99.7
X+ 891107 20   7.83  16   4.9  99.7
X+ 891107 21   7.88  18   4.3  99.7
X+ 891107 22   7.92  15   3.1  99.7
X+ 891107 23   7.96  11   3.3  99.6
END_OF_patch2e
if test 50691 -ne `wc -c <patch2e`; then
    echo shar: \"patch2e\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.