#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 01/05/1992 17:14 UTC by gershon@gr.utah.edu
# Source directory /n/lotus/u/grad/gershon/gp/dist
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   1104 -rw-r--r-- README.patch1
#  48527 -rw-r--r-- diffs.patch1
#   7407 -rw-r--r-- term/ai.trm
#
# ============= README.patch1 ==============
if test -f 'README.patch1' -a X"$1" != X"-c"; then
	echo 'x - skipping README.patch1 (File already exists)'
else
echo 'x - extracting README.patch1 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'README.patch1' &&
XThis package provides the upgrade of gnuplot 3.0 to patch level 1.
XBelow are the contributers to this upgrade and the modifications made.
X
XThank you all
X
XGershon
X
X----------------------------------------------------------------------------
X
X* Subject: Y log / postscript eps fix
X  Name: Russell Lang
X  Email: rjl@monu1.cc.monash.edu.au
X
X* Subject: HP26 driver to lift text.
X  Name: Bruce Lueckenhoff
X  Email: luechen@cis.udel.edu
X
X* Subject: CRAY prt, UIUC coordinates.
X  Name: Daniel Lewart
X  Email: d-lewart@uiuc.edu
X
X* Subject: AI device
X  Name:	Ray Ghanbari
X  Email: ray@mtl.mit.edu
X
X* Subject: HP_MOTIF on a Snake, X11 for Next
X  Name: Alex Woo
X  Email: woo@ra-next.arc.nasa.gov
X
X* Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix.
X  Name: Ray Toy???
X  Email: toy@soho.crd.ge.com
X
X* Subject: Fix the "splot 'file.dat'" with only z values.
X  Name: Gershon Elber
X  Email: gershon@gr.utah.edu
X
X* Subject: Underscore prefixed names.
X  Name: Tom Tkacik
X  Email: tkacik@hobbes.cs.gmr.com
X
X* Subject: Amiga port
X  Name: Carsten Steger 
X  Email: stegerc@informatik.tu-muenchen.de
SHAR_EOF
chmod 0644 README.patch1 ||
echo 'restore of README.patch1 failed'
Wc_c="`wc -c < 'README.patch1'`"
test 1104 -eq "$Wc_c" ||
	echo 'README.patch1: original size 1104, current size' "$Wc_c"
fi
# ============= diffs.patch1 ==============
if test -f 'diffs.patch1' -a X"$1" != X"-c"; then
	echo 'x - skipping diffs.patch1 (File already exists)'
else
echo 'x - extracting diffs.patch1 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'diffs.patch1' &&
Xdiff -c -r ./Copyright ../gnuplot3p1/Copyright
X*** ./Copyright	Mon Jun  3 17:25:56 1991
X--- ../gnuplot3p1/Copyright	Fri Dec 20 12:52:20 1991
X***************
X*** 1,5 ****
X  /*
X!  * Copyright (C) 1986, 1987, 1990   Thomas Williams, Colin Kelley
X   *
X   * Permission to use, copy, and distribute this software and its
X   * documentation for any purpose with or without fee is hereby granted, 
X--- 1,5 ----
X  /*
X!  * Copyright (C) 1986, 1987, 1990, 1991   Thomas Williams, Colin Kelley
X   *
X   * Permission to use, copy, and distribute this software and its
X   * documentation for any purpose with or without fee is hereby granted, 
X***************
X*** 11,17 ****
X   * distribute the modified code.  Modifications are to be distributed 
X   * as patches to released version.
X   *  
X!  * This software  is provided "as is" without express or implied warranty.
X   * 
X   *
X   * AUTHORS
X--- 11,17 ----
X   * distribute the modified code.  Modifications are to be distributed 
X   * as patches to released version.
X   *  
X!  * This software is provided "as is" without express or implied warranty.
X   * 
X   *
X   * AUTHORS
X***************
X*** 21,27 ****
X   * 
X   *   Gnuplot 2.0 additions:
X   *       Russell Lang, Dave Kotz, John Campbell.
X   * 
X!  * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
X!  * 
X   */
X--- 21,35 ----
X   * 
X   *   Gnuplot 2.0 additions:
X   *       Russell Lang, Dave Kotz, John Campbell.
X+  *
X+  *   Gnuplot 3.0 additions:
X+  *       Gershon Elber and many others.
X   * 
X!  * Send your comments or suggestions to 
X!  *  pixar!info-gnuplot@sun.com.
X!  * This is a mailing list; to join it send a note to 
X!  *  pixar!info-gnuplot-request@sun.com.  
X!  * Send bug reports to
X!  *  pixar!bug-gnuplot@sun.com.
X   */
X+ 
Xdiff -c -r ./README.Install ../gnuplot3p1/README.Install
X*** ./README.Install	Tue Sep 24 10:14:36 1991
X--- ../gnuplot3p1/README.Install	Sun Dec  1 14:47:25 1991
X***************
X*** 195,197 ****
X--- 195,201 ----
X  
X  The VMS version looks for the logical name GNUPLOT$HELP to locate 
X  the help library.
X+ 
X+ The CGI drivers need the CGIPATH environment variable to set the path
X+ to the CGI agents, and the CGIDISP and/or CGIPRNT environment
X+ variables to set the output devices.
Xdiff -c -r ./command.c ../gnuplot3p1/command.c
X*** ./command.c	Tue Sep 24 09:51:22 1991
X--- ../gnuplot3p1/command.c	Sun Dec  1 14:47:28 1991
X***************
X*** 633,641 ****
X  		if (!END_OF_COMMAND && !isstring(c_token)) {
X  			struct value a;
X  			ycol = (int)magnitude(const_express(&a));
X  			if (equals(c_token,":")) {
X  				c_token++;      /* skip ":" */
X- 				xcol = ycol;
X  				ycol = (int)magnitude(const_express(&a));
X  				if (equals(c_token,":")) {
X  					c_token++;      /* skip ":" */
X--- 633,641 ----
X  		if (!END_OF_COMMAND && !isstring(c_token)) {
X  			struct value a;
X  			ycol = (int)magnitude(const_express(&a));
X+ 			xcol = ycol;
X  			if (equals(c_token,":")) {
X  				c_token++;      /* skip ":" */
X  				ycol = (int)magnitude(const_express(&a));
X  				if (equals(c_token,":")) {
X  					c_token++;      /* skip ":" */
X***************
X*** 869,884 ****
X      for (i = 0; i < npoints; i++) {
X  	   cp = &(curve->points[i]);
X  	   if (cp->type == INRANGE) {
X! 		  y = cp->y;
X  		  if ((autoscale_ly ||
X! 		       inrange(log_y ? pow(10.0, y) : y, ymin, ymax) ||
X  		       polar)) {
X  			 if (autoscale_ly) {
X  				if (y < ymin) ymin = y;
X  				if (y > ymax) ymax = y;
X  				if (ebars) {
X! 				    ylow = cp->ylow;
X! 				    yhigh = cp->yhigh;
X  				    if (ylow < ymin) ymin = ylow;
X  				    if (ylow > ymax) ymax = ylow;
X  				    if (yhigh < ymin) ymin = yhigh;
X--- 869,884 ----
X      for (i = 0; i < npoints; i++) {
X  	   cp = &(curve->points[i]);
X  	   if (cp->type == INRANGE) {
X! 		  y = log_y ? pow(10.0,cp->y) : cp->y;
X  		  if ((autoscale_ly ||
X! 		       inrange(y, ymin, ymax) ||
X  		       polar)) {
X  			 if (autoscale_ly) {
X  				if (y < ymin) ymin = y;
X  				if (y > ymax) ymax = y;
X  				if (ebars) {
X! 				    ylow =  log_y ? pow(10.0,cp->ylow)  : cp->ylow;
X! 				    yhigh = log_y ? pow(10.0,cp->yhigh) : cp->yhigh;
X  				    if (ylow < ymin) ymin = ylow;
X  				    if (ylow > ymax) ymax = ylow;
X  				    if (yhigh < ymin) ymin = yhigh;
X***************
X*** 950,955 ****
X--- 950,959 ----
X  			quotel_str(format, c_token);
X  			c_token++;	/* skip format */
X  		}
X+ 	}
X+ 	else {
X+ 	    if ( only_z = !parametric )
X+ 		zcol = 1;
X  	}
X  
X  	switch (mapping3d) {
Xdiff -c -r ./contour.c ../gnuplot3p1/contour.c
X*** ./contour.c	Thu Jul 18 13:55:52 1991
X--- ../gnuplot3p1/contour.c	Sun Dec  1 14:47:30 1991
X***************
X*** 63,68 ****
X--- 63,71 ----
X  #define abs(x)  ((x) > 0 ? (x) : (-(x)))
X  #define sqr(x)  ((x) * (x))
X  
X+ #ifndef AMIGA_AC_5
X+ extern double sqrt();
X+ #endif /* not AMIGA_AC_5 */
X  typedef double tri_diag[3];         /* Used to allocate the tri-diag matrix. */
X  typedef double table_entry[4];	       /* Cubic spline interpolation 4 coef. */
X  
XCommon subdirectories: ./demo and ../gnuplot3p1/demo
XCommon subdirectories: ./docs and ../gnuplot3p1/docs
Xdiff -c -r ./gnuplot.el ../gnuplot3p1/gnuplot.el
X*** ./gnuplot.el	Mon Jun  3 17:25:58 1991
X--- ../gnuplot3p1/gnuplot.el	Tue Dec 17 15:44:56 1991
X***************
X*** 13,23 ****
X  ; between the editted file and the plotting program:
X  ; 1. send-line-to-gnu-plot - sends a single line to the plotting program for
X  ;    execution. The line sent is the line the cursor is on,
X! ;    Bounded to Meta-E be default.
X  ; 2. send-region-to-gnu-plot - sends the region from the current mark
X  ;    (mark-marker) to current position (point-marker) to the plotting program.
X  ;    This function is convenient for sending a large block of commands.
X! ;    Bounded to Meta-R be default.
X  ; Both functions checks for existance of a buffer named gnu-plot-program
X  ; and a process named "gnu-plot" hooked to it, and will restart a new process
X  ; or buffer if none exists. The program to execute as process "gnu-plot" is
X--- 13,23 ----
X  ; between the editted file and the plotting program:
X  ; 1. send-line-to-gnu-plot - sends a single line to the plotting program for
X  ;    execution. The line sent is the line the cursor is on,
X! ;    Bounded to Meta-E by default.
X  ; 2. send-region-to-gnu-plot - sends the region from the current mark
X  ;    (mark-marker) to current position (point-marker) to the plotting program.
X  ;    This function is convenient for sending a large block of commands.
X! ;    Bounded to Meta-R by default.
X  ; Both functions checks for existance of a buffer named gnu-plot-program
X  ; and a process named "gnu-plot" hooked to it, and will restart a new process
X  ; or buffer if none exists. The program to execute as process "gnu-plot" is
X***************
X*** 57,63 ****
X  (defun send-line-to-gnu-plot ()
X    "Sends one line of code from current buffer to the GNU-PLOT program.
X  
X! Use to execute a line in the GNU-PLOT plotting program. The line send is
X  the line the cursor (point) is on.
X  
X  The GNU-PLOT plotting program buffer name is gnu-plot-program and the 
X--- 57,63 ----
X  (defun send-line-to-gnu-plot ()
X    "Sends one line of code from current buffer to the GNU-PLOT program.
X  
X! Use to execute a line in the GNU-PLOT plotting program. The line sent is
X  the line the cursor (point) is on.
X  
X  The GNU-PLOT plotting program buffer name is gnu-plot-program and the 
X***************
X*** 124,130 ****
X  ;;; execute the program defined by gnu-plot-program.
X  ;;;
X  (defun make-gnu-plot-buffer ()
X!   "Switch to iris-program buffer or create one if none exists"
X    (interactive)
X    (if (get-buffer "gnu-plot-program")
X      (if (not (get-process "gnu-plot"))
X--- 124,130 ----
X  ;;; execute the program defined by gnu-plot-program.
X  ;;;
X  (defun make-gnu-plot-buffer ()
X!   "Switch to gnu-plot-program buffer or create one if none exists"
X    (interactive)
X    (if (get-buffer "gnu-plot-program")
X      (if (not (get-process "gnu-plot"))
Xdiff -c -r ./help.c ../gnuplot3p1/help.c
X*** ./help.c	Wed Jul 24 10:44:30 1991
X--- ../gnuplot3p1/help.c	Sun Dec  1 14:47:26 1991
X***************
X*** 653,659 ****
X      /* built-in dumb pager */
X      /* leave room for prompt line */
X      if (pagelines >= SCREENSIZE - 2) {
X! 	   printf("Press return for more: ");
X  	   do 
X  		c = getchar();
X  	   while (c != EOF && c != '\n');
X--- 653,659 ----
X      /* built-in dumb pager */
X      /* leave room for prompt line */
X      if (pagelines >= SCREENSIZE - 2) {
X! 	   fprintf(stderr,"Press return for more: ");
X  	   do 
X  		c = getchar();
X  	   while (c != EOF && c != '\n');
Xdiff -c -r ./internal.c ../gnuplot3p1/internal.c
X*** ./internal.c	Thu Aug 22 12:17:44 1991
X--- ../gnuplot3p1/internal.c	Sun Dec  1 14:47:31 1991
X***************
X*** 54,59 ****
X--- 54,60 ----
X   * System V and MSC 4.0 call this when they wants to print an error message.
X   * Don't!
X   */
X+ #ifndef _CRAY
X  #ifdef MSDOS
X  #ifdef __TURBOC__
X  int matherr()	/* Turbo C */
X***************
X*** 76,81 ****
X--- 77,83 ----
X  {
X  	return (undefined = TRUE);		/* don't print error message */
X  }
X+ #endif /* not _CRAY */
X  
X  
X  reset_stack()
Xdiff -c -r ./makefile.unx ../gnuplot3p1/makefile.unx
X*** ./makefile.unx	Tue Sep 24 10:25:08 1991
X--- ../gnuplot3p1/makefile.unx	Sun Dec  1 15:40:43 1991
X***************
X*** 1,7 ****
X  ############################################################
X  #
X  # GNUPLOT 3.0 Makefile (Unix X11 Motif/Athena support) for
X! #  Apollo/Sun/Dec5000/IBMrs6000/HP9000/SGI/3B1/386IX
X  #
X  # Original version by:
X  #   oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA)
X--- 1,7 ----
X  ############################################################
X  #
X  # GNUPLOT 3.0 Makefile (Unix X11 Motif/Athena support) for
X! #  Apollo/Sun/Dec5000/IBMrs6000/HP9000/SGI/3B1/386IX/Cray
X  #
X  # Original version by:
X  #   oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA)
X***************
X*** 203,209 ****
X  APOLLO_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
X      	   LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
X!     	   X11INCLUDES="-I/usr/include/X11" \
X      	   X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
X      	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X      	   X11INSTALL="$(X11INSTALL)" \
X--- 203,209 ----
X  APOLLO_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
X      	   LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
X!     	   X11INCLUDES="$(X11INCLUDES)" \
X      	   X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
X      	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X      	   X11INSTALL="$(X11INSTALL)" \
X***************
X*** 225,230 ****
X--- 225,239 ----
X      	   X11INSTALL="$(X11INSTALL)" \
X      	   TERMFLAGS="-Iterm -DX11"
X  
X+ HP_M_FLAGS = \
X+     	   CFLAGS="$(COPTS) $(OPTIONS) -DMEMSET -DMEMCPY -DGETCWD" \
X+     	   LIBS="-lm" X11FLAGS="-DMOTIF -D_NO_PROTO" \
X+     	   X11INCLUDES="-I/usr/include/Motif1.1 -I/usr/include/Motif1.1/Xm -I/usr/include/X11R4" \
X+     	   X11LIBS="-L/usr/lib/Motif1.1 -L/usr/lib/X11R4 -lXm -lXt -lX11" \
X+     	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X+     	   X11INSTALL="$(X11INSTALL)" \
X+     	   TERMFLAGS=" -Iterm -DX11"
X+ 
X  SUN_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS)" \
X      	   LIBS="-lsuntool -lsunwindow -lpixrect $(LIBS)" \
X***************
X*** 251,262 ****
X  
X  SGIX11_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS)" \
X!     	   LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
X      	   X11INCLUDES="-I/usr/include/X11 -I/usr/include/X11/Xaw" \
X      	   X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lXext -lX11" \
X       	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X       	   X11INSTALL="$(X11INSTALL)" \
X!     	   TERMFLAGS="-Iterm -DX11"
X  
X  CGI_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS) -Dunix" \
X--- 260,271 ----
X  
X  SGIX11_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS)" \
X!     	   LIBS="-lgl_s -lm -lc_s" X11FLAGS="$(X11FLAGS)" \
X      	   X11INCLUDES="-I/usr/include/X11 -I/usr/include/X11/Xaw" \
X      	   X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lXext -lX11" \
X       	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X       	   X11INSTALL="$(X11INSTALL)" \
X!     	   TERMFLAGS="-Iterm -DX11 -DIRIS4D"
X  
X  CGI_FLAGS = \
X      	   CFLAGS="$(COPTS) $(OPTIONS) -Dunix" \
X***************
X*** 303,314 ****
X      	   TERMFLAGS="$(TERMFLAGS)"
X  
X  NEXT_FLAGS = \
X!     	   CFLAGS="$(COPTS) -DNOCWDRC -DGAMMA=lgamma -DNEXT" \
X      	   LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
X      	   X11INCLUDES=" " X11LIBS=" " PLOTXFLAG=" " \
X      	   GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
X      	   TERMFLAGS="-Iterm"
X  
X  ####################################################################
X  # List of object files except version.o
X  OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o help.o \
X--- 312,348 ----
X      	   TERMFLAGS="$(TERMFLAGS)"
X  
X  NEXT_FLAGS = \
X!     	   CFLAGS="$(COPTS) -DGAMMA=lgamma -DNEXT" \
X      	   LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
X      	   X11INCLUDES=" " X11LIBS=" " PLOTXFLAG=" " \
X      	   GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
X      	   TERMFLAGS="-Iterm"
X  
X+ NEXT_X11_FLAGS = \
X+     	   CFLAGS="$(COPTS) -DGAMMA=lgamma -DNEXT" \
X+     	   LIBS="-lm" \
X+            X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
X+     	   X11INCLUDES="$(X11INCLUDES)" X11FLAGS="$(X11FLAGS)" \
X+     	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
X+     	   X11INSTALL="$(X11INSTALL)" \
X+     	   TERMFLAGS="-Iterm -DX11"
X+ 
X+ CRAY_FLAGS = \
X+ 	   CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DNOVFORK" \
X+ 	   LIBS="-lm" X11FLAGS=" " \
X+ 	   X11INCLUDES=" " \
X+ 	   X11LIBS=" " \
X+ 	   PLOTXFLAG=" " GNUPLOT_X11=" " \
X+ 	   X11INSTALL=x11_noinstall \
X+ 	   TERMFLAGS="-Iterm"
X+ CRAY_X11_FLAGS = \
X+ 	   CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DNOVFORK" \
X+ 	   LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
X+ 	   X11INCLUDES="$(X11INCLUDES)" \
X+ 	   X11LIBS="$(X11LIBS)" \
X+ 	   PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11="$(GNUPLOT_X11)" \
X+ 	   X11INSTALL=$(X11INSTALL) \
X+ 	   TERMFLAGS="-Iterm -DX11"
X  ####################################################################
X  # List of object files except version.o
X  OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o help.o \
X***************
X*** 373,379 ****
X  	@echo 
X  	@echo "apollo, apollo_motif       for Apollo running SR10.3 with Apollo's X11R3"
X  	@echo "dec, dec_motif             for Dec3100/5000 running Ultrix 3.1d with MIT's X11R4"
X! 	@echo "hp                         for HP/9000 700 series running HP/UX 8.0 with MIT's X11R4"
X  	@echo "sun                        for Sun sparcstation running SunOS 4.1 with suntools (no X11R4) "
X  	@echo "sun_x11                    for Sun sparcstation running SunOS 4.1 with suntools and X11R4 "
X  	@echo "sgi                        for Silicon Graphics IRIS4D machines (no X11R4) "
X--- 407,413 ----
X  	@echo 
X  	@echo "apollo, apollo_motif       for Apollo running SR10.3 with Apollo's X11R3"
X  	@echo "dec, dec_motif             for Dec3100/5000 running Ultrix 3.1d with MIT's X11R4"
X! 	@echo "hp, hp_motif               for HP/9000 700 series running HP/UX 8.0 with MIT's X11R4"
X  	@echo "sun                        for Sun sparcstation running SunOS 4.1 with suntools (no X11R4) "
X  	@echo "sun_x11                    for Sun sparcstation running SunOS 4.1 with suntools and X11R4 "
X  	@echo "sgi                        for Silicon Graphics IRIS4D machines (no X11R4) "
X***************
X*** 384,389 ****
X--- 418,425 ----
X  	@echo "386ix_x11                  for 386 machines running 386/ix with T.Roell X386"
X  	@echo "ibmrs6000, ibmrs6000_motif for IBM RS/6000 running Aix 3.1 with IBM's X11R3"
X  	@echo "x11r4, x11r4_motif         for a generic machine (like a sun or dec) with MIT's X11R4"
X+ 	@echo "cray            for Cray Y-MP or Cray-2 running Unicos 6.0 or 6.1 (no X11R4)"
X+ 	@echo "cray_x11        for Cray Y-MP or Cray-2 running Unicos 6.0 or 6.1 with X11R4"
X  	@echo 
X  	@echo "Examples:"
X  	@echo
X***************
X*** 401,407 ****
X  	@echo "         make sgi"
X  	@echo "         make 3b1"
X  	@echo "         make 386ix"
X! 	@echo "         make ibmrs6000    MANDEST='/usr/usr/misc/man/man1' COPTS='-O' "
X  	@echo 
X  	@echo "If you just type 'make All' , it will build gnuplot for Unix X11R4/Athena"
X  	@echo "and the following variables will be used as default:"
X--- 437,445 ----
X  	@echo "         make sgi"
X  	@echo "         make 3b1"
X  	@echo "         make 386ix"
X! 	@echo "         make ibmrs6000    MANDEST='/usr/um/misc/man/man1' COPTS='-O' "
X! 	@echo "         make cray"
X! 	@echo "         make cray_x11"
X  	@echo 
X  	@echo "If you just type 'make All' , it will build gnuplot for Unix X11R4/Athena"
X  	@echo "and the following variables will be used as default:"
X***************
X*** 450,458 ****
X--- 488,502 ----
X  hp:
X  	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(HP_FLAGS)       $(TARGET)
X  
X+ hp_motif:
X+ 	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(HP_M_FLAGS)       $(TARGET)
X+ 
X  next:
X  	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(NEXT_FLAGS)     $(TARGET)
X  
X+ next_x11:
X+ 	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(NEXT_X11_FLAGS)     $(TARGET)
X+ 
X  sun:
X  	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(SUN_FLAGS)      $(TARGET)
X  
X***************
X*** 482,487 ****
X--- 526,535 ----
X  
X  ibmrs6000_motif:
X  	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(AIX_M_FLAGS)    $(TARGET)
X+ cray:
X+ 	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(CRAY_FLAGS)     $(TARGET)
X+ cray_x11:
X+ 	$(MAKE) $(MFLAGS) $(MY_FLAGS) $(CRAY_X11_FLAGS) $(TARGET)
X  
X  #############################################################
X  # Targets that really do something
X***************
X*** 496,502 ****
X  	$(LD) $(OBJS) version.o $(LIBS) -o gnuplot
X  
X  doc:
X! 	( cd docs; make $(MFLAGS) gnuplot.gih )
X  
X  gnuplot_x11: gnuplot_x11.c
X  	$(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
X--- 544,550 ----
X  	$(LD) $(OBJS) version.o $(LIBS) -o gnuplot
X  
X  doc:
X! 	( cd docs; $(MAKE) $(MFLAGS) gnuplot.gih )
X  
X  gnuplot_x11: gnuplot_x11.c
X  	$(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
X***************
X*** 527,533 ****
X  Install: All man_install $(X11INSTALL) $(LASERGNU)
X  	cp gnuplot     $(DEST)
X  	strip $(DEST)/gnuplot
X! 	(cd docs; make $(MFLAGS) install-unix HELPDEST=$(HELPDEST))
X  
X  x11_install: gnuplot_x11
X  	cp gnuplot_x11 $(DEST)
X--- 575,581 ----
X  Install: All man_install $(X11INSTALL) $(LASERGNU)
X  	cp gnuplot     $(DEST)
X  	strip $(DEST)/gnuplot
X! 	( cd docs; $(MAKE) $(MFLAGS) install-unix HELPDEST=$(HELPDEST) )
X  
X  x11_install: gnuplot_x11
X  	cp gnuplot_x11 $(DEST)
X***************
X*** 591,603 ****
X  
X  clean:
X  	rm -f *.o *~ *.bak term/*~ term/*.bak
X! 	(cd docs; make $(MFLAGS) clean)
X! 	(cd docs/latextut; make $(MFLAGS) clean)
X  
X  spotless:
X  	rm -f *.o *~ *.bak term/*~ term/*.bak TAGS gnuplot gnuplot_x11
X! 	(cd docs; make $(MFLAGS) clean)
X! 	(cd docs/latextut; make $(MFLAGS) spotless)
X  
X  ################################################################
X  # Making shar files for mailing gnuplot
X--- 639,651 ----
X  
X  clean:
X  	rm -f *.o *~ *.bak term/*~ term/*.bak
X! 	( cd docs; $(MAKE) $(MFLAGS) clean )
X! 	( cd docs/latextut; $(MAKE) $(MFLAGS) clean )
X  
X  spotless:
X  	rm -f *.o *~ *.bak term/*~ term/*.bak TAGS gnuplot gnuplot_x11
X! 	( cd docs; $(MAKE) $(MFLAGS) clean )
X! 	( cd docs/latextut; $(MAKE) $(MFLAGS) spotless )
X  
X  ################################################################
X  # Making shar files for mailing gnuplot
Xdiff -c -r ./parse.c ../gnuplot3p1/parse.c
X*** ./parse.c	Fri Sep  6 09:00:06 1991
X--- ../gnuplot3p1/parse.c	Sun Dec  1 14:47:33 1991
X***************
X*** 66,82 ****
X  #ifdef __TURBOC__
X  void fpe()
X  #else
X! #ifdef __ZTC__
X  void fpe(an_int)
X  int an_int;
X  #else
X! #ifdef _CRAY
X! void fpe(an_int)
X! int an_int;
X  #else
X  fpe()
X  #endif
X! #endif
X  #endif
X  {
X  #ifdef PC	/* thanks to lotto@wjh12.UUCP for telling us about this  */
X--- 66,81 ----
X  #ifdef __TURBOC__
X  void fpe()
X  #else
X! #if defined( __ZTC__ ) || defined( _CRAY )
X  void fpe(an_int)
X  int an_int;
X  #else
X! #ifdef NEXT
X! void fpe(int an_int)
X  #else
X  fpe()
X  #endif
X! #endif /* __ZTC__ || _CRAY */
X  #endif
X  {
X  #ifdef PC	/* thanks to lotto@wjh12.UUCP for telling us about this  */
Xdiff -c -r ./plot.c ../gnuplot3p1/plot.c
X*** ./plot.c	Thu Sep  5 11:19:10 1991
X--- ../gnuplot3p1/plot.c	Sun Dec  1 14:47:22 1991
X***************
X*** 168,174 ****
X--- 168,178 ----
X  void inter(an_int)
X  int an_int;
X  #else
X+ #ifdef NEXT
X+ void inter(int an_int)
X+ #else
X  inter()
X+ #endif
X  #endif
X  #endif
X  {
Xdiff -c -r ./plot.h ../gnuplot3p1/plot.h
X*** ./plot.h	Thu Sep  5 11:19:10 1991
X--- ../gnuplot3p1/plot.h	Sun Dec  1 14:58:27 1991
X***************
X*** 133,138 ****
X--- 133,141 ----
X  #else
X  #if defined( vms ) || defined( _CRAY ) || defined( NEXT )
X  #include <float.h>
X+ #if defined ( NEXT )  /* bug in NeXT OS 2.0 */
X+ #define DBL_MAX 1.7976931348623157e+308 
X+ #endif
X  #define VERYLARGE DBL_MAX
X  #else
X  #if defined(AMIGA_AC_5) || defined(AMIGA_LC_5_1)
Xdiff -c -r ./readline.c ../gnuplot3p1/readline.c
X*** ./readline.c	Tue Sep 10 15:19:46 1991
X--- ../gnuplot3p1/readline.c	Sun Dec  1 14:58:25 1991
X***************
X*** 34,40 ****
X  #ifdef READLINE
X  
X  /* a small portable version of GNU's readline */
X! 
X  /* do not need any terminal capabilities except backspace,
X  /* and space overwrites a character */
X  
X--- 34,41 ----
X  #ifdef READLINE
X  
X  /* a small portable version of GNU's readline */
X! /* this is not the BASH or GNU EMACS version of READLINE due to Copyleft 
X! 	restrictions */
X  /* do not need any terminal capabilities except backspace,
X  /* and space overwrites a character */
X  
Xdiff -c -r ./scanner.c ../gnuplot3p1/scanner.c
X*** ./scanner.c	Thu Sep  5 11:19:12 1991
X--- ../gnuplot3p1/scanner.c	Sun Dec  1 15:36:52 1991
X***************
X*** 84,105 ****
X   *
X   *	 Scanning is performed by following rules:
X   *
X!  *		Current char	token should contain
X   *     -------------    -----------------------
X!  *		1.  alpha		all following alpha-numerics
X!  *		2.  digit		0 or more following digits, 0 or 1 decimal point,
X!  *						  0 or more digits, 0 or 1 'e' or 'E',
X!  *						  0 or more digits.
X!  *		3.  ^,+,-,/		only current char
X!  *		    %,~,(,)
X!  *		    [,],;,:,
X!  *		    ?,comma
X!  *		4.  &,|,=,*		current char; also next if next is same
X!  *		5.  !,<,>		current char; also next if next is =
X!  *		6.  ", '		all chars up until matching quote
X!  *        7.  #          this token cuts off scanning of the line (DFK).
X   *
X!  *		white space between tokens is ignored
X   */
X  scanner(expression)
X  char expression[];
X--- 84,105 ----
X   *
X   *	 Scanning is performed by following rules:
X   *
X!  *	Current char	token should contain
X   *     -------------    -----------------------
X!  *	1.  alpha,_	all following alpha-numerics
X!  *	2.  digit	0 or more following digits, 0 or 1 decimal point,
X!  *				0 or more digits, 0 or 1 'e' or 'E',
X!  *				0 or more digits.
X!  *	3.  ^,+,-,/	only current char
X!  *	    %,~,(,)
X!  *	    [,],;,:,
X!  *	    ?,comma
X!  *	4.  &,|,=,*	current char; also next if next is same
X!  *	5.  !,<,>	current char; also next if next is =
X!  *	6.  ", '	all chars up until matching quote
X!  *	7.  #		this token cuts off scanning of the line (DFK).
X   *
X!  *			white space between tokens is ignored
X   */
X  scanner(expression)
X  char expression[];
X***************
X*** 122,128 ****
X  			substitute(&expression[current],MAX_LINE_LEN - current);
X  			goto again;
X  		}
X! 		if (isalpha(expression[current])) {
X  			SCAN_IDENTIFIER;
X  		} else if (isdigit(expression[current]) || expression[current] == '.'){
X  			token[t_num].is_token = FALSE;
X--- 122,129 ----
X  			substitute(&expression[current],MAX_LINE_LEN - current);
X  			goto again;
X  		}
X! 		/* allow _ to be the first character of an identifier */
X! 		if (isalpha(expression[current]) || expression[current] == '_') {
X  			SCAN_IDENTIFIER;
X  		} else if (isdigit(expression[current]) || expression[current] == '.'){
X  			token[t_num].is_token = FALSE;
Xdiff -c -r ./standard.c ../gnuplot3p1/standard.c
X*** ./standard.c	Thu Jul 18 14:02:06 1991
X--- ../gnuplot3p1/standard.c	Sun Dec  1 14:58:45 1991
X***************
X*** 368,374 ****
X  f_atan()
X  {
X  struct value a;
X! register double x, y;
X  	(void) pop(&a);
X  	x = real(&a); y = imag(&a);
X  	if (y == 0.0)
X--- 368,374 ----
X  f_atan()
X  {
X  struct value a;
X! register double x, y, u, v, w, z;
X  	(void) pop(&a);
X  	x = real(&a); y = imag(&a);
X  	if (y == 0.0)
X***************
X*** 376,384 ****
X  	else if (x == 0.0 && fabs(y) == 1.0) {
X  		undefined = TRUE;
X  		push(complex(&a,0.0, 0.0));
X! 	} else
X! 		push( complex(&a,atan(2*x/(1-x*x-y*y)),
X! 	    		log((x*x+(y+1)*(y+1))/(x*x+(y-1)*(y-1)))/4) );
X  }
X  
X  f_sinh()
X--- 376,400 ----
X  	else if (x == 0.0 && fabs(y) == 1.0) {
X  		undefined = TRUE;
X  		push(complex(&a,0.0, 0.0));
X! 	} else {
X! 	        if (x >= 0) {
X! 		        u = x;
X! 			v = y;
X! 		} else {
X! 		        u = -x;
X! 			v = -y;
X! 		}
X! 		
X! 	        z = atan(2*u/(1-u*u-v*v));
X! 		w = log((u*u+(v+1)*(v+1))/(u*u+(v-1)*(v-1)))/4;
X! 		if (z < 0)
X! 		        z = z + 2*PI_ON_TWO;
X! 		if (x < 0) {
X! 		        z = -z;
X! 			w = -w;
X! 		}
X! 		push( complex(&a,0.5*z, w) );
X! 	}
X  }
X  
X  f_sinh()
XCommon subdirectories: ./term and ../gnuplot3p1/term
Xdiff -c -r ./term.c ../gnuplot3p1/term.c
X*** ./term.c	Thu Sep  5 11:19:14 1991
X--- ../gnuplot3p1/term.c	Sun Dec  1 14:48:26 1991
X***************
X*** 298,304 ****
X  #include "term/hpljii.trm"
X  #endif
X  
X! #ifdef HPLJII /* HP LaserJet III in HPGL mode */
X  #  ifndef HPGL
X  #    define HPGL
X  #  endif
X--- 298,304 ----
X  #include "term/hpljii.trm"
X  #endif
X  
X! #ifdef HPLJIII /* HP LaserJet III in HPGL mode */
X  #  ifndef HPGL
X  #    define HPGL
X  #  endif
X***************
X*** 354,359 ****
X--- 354,363 ----
X  #include "term/aed.trm"
X  #endif /* AED */
X  
X+ #ifdef AIFM
X+ #include "term/ai.trm"
X+ #endif /* AIFM */
X+ 
X  #ifdef CGI
X  #include "term/cgi.trm"
X  #endif /* CGI */
X***************
X*** 632,637 ****
X--- 636,650 ----
X  	   null_justify_text, do_point, do_arrow}
X  #endif
X  
X+ #ifdef AIFM
X+     ,{"aifm", "Adobe Illustrator 3.0 Format",
X+ 	   AI_XMAX, AI_YMAX, AI_VCHAR, AI_HCHAR, 
X+ 	   AI_VTIC, AI_HTIC, AI_options, AI_init, AI_reset, 
X+ 	   AI_text, null_scale, AI_graphics, AI_move, AI_vector, 
X+ 	   AI_linetype, AI_put_text, AI_text_angle, 
X+ 	   AI_justify_text, do_point, do_arrow}
X+ #endif
X+ 
X  #ifdef APOLLO
X     	,{"apollo", "Apollo Graphics Primitive Resource, rescaling of subsequent plots after window resizing",
X  	   0, 0, 0, 0, /* APOLLO_XMAX, APOLLO_YMAX, APOLLO_VCHAR, APOLLO_HCHAR, are filled in at run-time */
X***************
X*** 799,811 ****
X  #endif
X  
X  #ifdef HPLJIII
X!     ,{"hpljiii_port", "HP laserjet iii (using HPGL plot vectors), portrait mode",
X  	HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
X  	HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_PORT_init, HPLJIII_reset,
X  	HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
X  	HPGL_linetype, HPGL_put_text, HPGL_text_angle,
X  	null_justify_text, do_point, do_arrow}
X!      ,{"hpljiii_land", "HP laserjet iii (using HPGL plot vectors), landscape mode",
X  	HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
X  	HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_LAND_init, HPLJIII_reset,
X  	HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
X--- 812,824 ----
X  #endif
X  
X  #ifdef HPLJIII
X!     ,{"pcl5_port", "HP laserjet iii (using HPGL plot vectors), portrait mode",
X  	HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
X  	HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_PORT_init, HPLJIII_reset,
X  	HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
X  	HPGL_linetype, HPGL_put_text, HPGL_text_angle,
X  	null_justify_text, do_point, do_arrow}
X!      ,{"pcl5_land", "HP laserjet iii (using HPGL plot vectors), landscape mode",
X  	HPGL_XMAX, HPGL_YMAX, HPGL_VCHAR, HPGL_HCHAR,
X  	HPGL_VTIC, HPGL_HTIC, options_null, HPLJIII_LAND_init, HPLJIII_reset,
X  	HPGL_text, null_scale, HPGL_graphics, HPGL_move, HPGL_vector,
X***************
X*** 889,895 ****
X      ,{"postscript", "PostScript graphics language [mode \042fontname\042 font_size]",
X  	   PS_XMAX, PS_YMAX, PS_VCHAR, PS_HCHAR, 
X  	   PS_VTIC, PS_HTIC, PS_options, PS_init, PS_reset, 
X! 	   PS_text, do_scale, PS_graphics, PS_move, PS_vector, 
X  	   PS_linetype, PS_put_text, PS_text_angle, 
X  	   PS_justify_text, PS_point, do_arrow}
X  #endif
X--- 902,908 ----
X      ,{"postscript", "PostScript graphics language [mode \042fontname\042 font_size]",
X  	   PS_XMAX, PS_YMAX, PS_VCHAR, PS_HCHAR, 
X  	   PS_VTIC, PS_HTIC, PS_options, PS_init, PS_reset, 
X! 	   PS_text, null_scale, PS_graphics, PS_move, PS_vector, 
X  	   PS_linetype, PS_put_text, PS_text_angle, 
X  	   PS_justify_text, PS_point, do_arrow}
X  #endif
Xdiff -c -r ./term.h ../gnuplot3p1/term.h
X*** ./term.h	Thu Sep  5 11:19:16 1991
X--- ../gnuplot3p1/term.h	Sun Dec  1 14:48:24 1991
X***************
X*** 102,107 ****
X--- 102,108 ----
X  #define EPS60		/* Epson-style 60-dot per inch printers */
X  #define EPSONP		/* Epson LX-800, Star NL-10, NX-1000 and lots of others */
X  #define HPLJII		/* HP LaserJet II */
X+ #define HPLJIII		/* HP LaserJet III */
X  #define LATEX		/* LATEX picture environment */
X  
X  /* These are for MSDOS only */
Xdiff -c -r ./util.c ../gnuplot3p1/util.c
X*** ./util.c	Sun Sep  8 09:01:16 1991
X--- ../gnuplot3p1/util.c	Sun Dec  1 15:36:52 1991
X***************
X*** 162,168 ****
X  int t_num;
X  {
X  	return(token[t_num].is_token &&
X! 			(isalpha(input_line[token[t_num].start_index])));
X  }
X  
X  
X--- 162,169 ----
X  int t_num;
X  {
X  	return(token[t_num].is_token &&
X! 			((isalpha(input_line[token[t_num].start_index]))||
X! 			 (input_line[token[t_num].start_index] == '_')));
X  }
X  
X  
Xdiff -c -r ./version.c ../gnuplot3p1/version.c
X*** ./version.c	Sun Sep 29 18:59:00 1991
X--- ../gnuplot3p1/version.c	Mon Dec  2 15:19:41 1991
X***************
X*** 35,42 ****
X   */
X  
X  char version[] = "3.0 ";
X! char patchlevel[] = "0, Sep 29 91";
X! char date[] = "Sun Sep 29 16:56:36 1991";
X  
X  /* override in Makefile */
X  #ifndef CONTACT
X--- 35,42 ----
X   */
X  
X  char version[] = "3.0 ";
X! char patchlevel[] = "1, Dec 1 91";
X! char date[] = "Sun Dec 1 16:56:36 1991";
X  
X  /* override in Makefile */
X  #ifndef CONTACT
Xdiff -c -r ./demo/world.cor ../gnuplot3p1/demo/world.cor
X*** ./demo/world.cor	Thu Jun 27 16:55:42 1991
X--- ../gnuplot3p1/demo/world.cor	Sun Dec  1 14:48:17 1991
X***************
X*** 34,42 ****
X  -84 34         # Atlanta, Georgia
X  -84 42         # Univ. of Michigan, Ann Arbor, Michigan
X  -86 39         # UCS Indiana (?)
X  -88 42         # Arlington Heights, Illinois
X  -88 42         # Northwestern University, Evanston, Illinois
X- -90 43         # UIUCS, Urabana, Illinois (?)
X  -92 30         # Lafayette, Louisiana
X  -93 45         # Eagan, Minnesota
X  -95 30         # Houston, Texas
X--- 34,42 ----
X  -84 34         # Atlanta, Georgia
X  -84 42         # Univ. of Michigan, Ann Arbor, Michigan
X  -86 39         # UCS Indiana (?)
X+ -88 40         # University of Illinois, Urbana-Champaign, Illinois
X  -88 42         # Arlington Heights, Illinois
X  -88 42         # Northwestern University, Evanston, Illinois
X  -92 30         # Lafayette, Louisiana
X  -93 45         # Eagan, Minnesota
X  -95 30         # Houston, Texas
Xdiff -c -r ./docs/gnuplot.doc ../gnuplot3p1/docs/gnuplot.doc
X*** ./docs/gnuplot.doc	Tue Sep 17 10:21:06 1991
X--- ../gnuplot3p1/docs/gnuplot.doc	Sun Dec  1 15:57:55 1991
X***************
X*** 145,151 ****
X  %Up Arrow@@same as ^P.
X  %Down Arrow@@same as ^N.
X  %_
X! @end table 
X  2 comment
X  ?comments
X   Comments are supported as follows: a # may appear in most places in a line
X--- 145,153 ----
X  %Up Arrow@@same as ^P.
X  %Down Arrow@@same as ^N.
X  %_
X! @end table
X!  (The readline function in gnuplot is not the same as the readline used
X!  in GNU BASH and GNU EMACS.  It is somewhat compatible however.) 
X  2 comment
X  ?comments
X   Comments are supported as follows: a # may appear in most places in a line
X***************
X*** 699,706 ****
X  
X   A simple example of plotting a 3-d data file is
X   
X           splot 'glass.dat'
X! 
X   For more information about 3-d plotting, see `splot`.
X  4 using
X  ?plot datafile using
X--- 701,736 ----
X  
X   A simple example of plotting a 3-d data file is
X   
X+          set parametric
X           splot 'glass.dat'
X!  
X!  or
X!  
X!          set noparametric
X!          splot 'datafile.dat'
X!  
X!  where the file datafile.dat might contain:
X!  
X!          # The valley of the Gnu.
X!          10
X!          10
X!          10
X!  
X!          10
X!          5
X!          10
X!  
X!          10
X!          1
X!          10
X!  
X!          10
X!          0
X!          10
X!  
X!  Note datafile.dat defines a 4 by 3 grid ( 4 rows of 3 points each ).
X!  Rows are seperated by blank lines.
X!  
X   For more information about 3-d plotting, see `splot`.
X  4 using
X  ?plot datafile using
X***************
X*** 1929,1936 ****
X           set terminal postscript {<mode>} {<color>}
X                                   {"<fontname>"} {<fontsize>}
X  
X!  where <mode> is `landscape`, `portrait` or `default`. Selecting default
X!  sets all options to their defaults.
X   <color> is either `color` or `monochrome`.
X   "<fontname>" is the name of a valid PostScript font.
X   <fontsize> is the size of the font in PostScript points, before 
X--- 1959,1966 ----
X           set terminal postscript {<mode>} {<color>}
X                                   {"<fontname>"} {<fontsize>}
X  
X!  where <mode> is `landscape`, `portrait`, `eps` or `default`. 
X!  Selecting default sets all options to their defaults.
X   <color> is either `color` or `monochrome`.
X   "<fontname>" is the name of a valid PostScript font.
X   <fontsize> is the size of the font in PostScript points, before 
X***************
X*** 1939,1954 ****
X   Default size of PostScript plot is landscape mode 10 inches wide 
X   and 7 inches high.
X  
X   Examples:
X   
X-          set size 1,1
X           set term postscript default       # old postscript
X           set term postscript landscape 22  # old psbig
X!          set size 0.5,0.5
X!          set term postscript portrait 14   # old epsf1
X!          set term postscript portrait 22   # old epsf2
X!          set size 1,1; set term post landscape color "Times-Roman" 14 
X   
X  3 tics
X  ?set tics
X  ?show tics
X--- 1969,2015 ----
X   Default size of PostScript plot is landscape mode 10 inches wide 
X   and 7 inches high.
X  
X+  To get EPS output, use the `eps` mode and make only one plot per file.
X+  In `eps` mode the whole plot is halved in size; the fonts are half the 
X+  given size, and the plot is 5 inches wide and 3.5 inches high.
X+ 
X   Examples:
X   
X           set term postscript default       # old postscript
X           set term postscript landscape 22  # old psbig
X!          set term postscript eps 14   # old epsf1
X!          set term postscript eps 22   # old epsf2
X!          set size 0.7,1.4
X!          set term post portrait color "Times-Roman" 14 
X   
X+ 4 aifm
X+ ?set terminal aifm
X+ ?aifm
X+  Several options may be set in the Adobe Illustrator 3.0 driver.
X+ 
X+  Syntax:
X+          set terminal aifm {<color>}
X+                                  {"<fontname>"} {<fontsize>}
X+ 
X+  Selecting default sets all options to their defaults.
X+  <color> is either `color` or `monochrome`.
X+  "<fontname>" is the name of a valid PostScript font.
X+  <fontsize> is the size of the font in PostScript points, before 
X+  scaling by the `set size` command.
X+  Defaults are `monochrome`, "Courier", and 14pt.
X+ 
X+  Also, since AI does not really support multiple pages, multiple 
X+  graphs will be output directly on one another.  However, each graph 
X+  will be grouped individually, making it easy to separate them inside 
X+  AI (just pick them up and move them).
X+ 
X+  Examples:
X+  
X+          set term aifm 
X+          set term aifm 22  
X+          set size 0.7,1.4
X+          set term aifm color "Times-Roman" 14 
X+  
X  3 tics
X  ?set tics
X  ?show tics
X***************
X*** 2457,2464 ****
X   See `show functions` and `show variables`.
X  2 bugs
X  ?bugs
X-  The atan() function does not work correctly for complex arguments.
X-  
X   The bessel functions do not work for complex arguments.
X   
X   The gamma function does not work for complex arguments.
X--- 2518,2523 ----
XCommon subdirectories: ./docs/latextut and ../gnuplot3p1/docs/latextut
XOnly in ../gnuplot3p1/term: ai.trm
Xdiff -c -r ./term/amiga.trm ../gnuplot3p1/term/amiga.trm
X*** ./term/amiga.trm	Fri Sep 20 13:31:58 1991
X--- ../gnuplot3p1/term/amiga.trm	Fri Dec 13 12:58:48 1991
X***************
X*** 47,68 ****
X  #include <intuition/screens.h>
X  #include <graphics/text.h>
X  #include <graphics/gfxbase.h>
X- 
X- #define OSCAN_TEXT     (1)                   /*                            */
X- #define SA_Dummy       (TAG_USER + 32)       /* This stuff is temporary    */
X- #define SA_Overscan    (SA_Dummy + 0x0014)   /* until Aztec C implements   */
X- #define STDSCREENWIDTH -1                    /* KS/WB 2.0 support.         */
X- #define TAG_DONE       (0L)                  /*                            */
X- #define TAG_USER       (1L<<31)              /*                            */
X-                                              /*                            */
X- typedef ULONG Tag;                           /*                            */
X-                                              /*                            */
X- struct TagItem                               /*                            */
X-    {                                         /*                            */
X-    Tag   ti_Tag;                             /*                            */
X-    ULONG ti_Data;                            /*                            */
X-    };                                        /*                            */
X- 
X  #else
X  /* You will have to use the Kickstart 2.0 header files for this to compile */
X  #include <exec/types.h>
X--- 47,52 ----
X***************
X*** 159,165 ****
X    }
X    if (IntuitionBase->LibNode.lib_Version <= 34) {
X      /* We compute the vertical resolution for those poor NTSC-souls   :-)   */
X!     if (GfxBase->DisplayFlags && PAL) AMIGA_ymax = 512;
X      else AMIGA_ymax = 400;
X      AMIGA_xmax = 640;
X      AMIGA_NewScreen.Width = AMIGA_xmax;
X--- 143,149 ----
X    }
X    if (IntuitionBase->LibNode.lib_Version <= 34) {
X      /* We compute the vertical resolution for those poor NTSC-souls   :-)   */
X!     if (GfxBase->DisplayFlags & PAL) AMIGA_ymax = 512;
X      else AMIGA_ymax = 400;
X      AMIGA_xmax = 640;
X      AMIGA_NewScreen.Width = AMIGA_xmax;
X***************
X*** 174,187 ****
X      /* Kickstart 2.0 support */
X      AMIGA_NewScreen.Width = STDSCREENWIDTH;
X      AMIGA_NewScreen.Height = STDSCREENHEIGHT;
X-     /* I had to set TopEdge equal to 1 with my (probably outdated) software */
X-     /* version of Kickstart 2.0 in order for the last line to be displayed */
X-     /* correctly. Remove the next two lines and check if it still works */
X-     /* with newer ROM-versions of Kickstart 2.0 */
X- #ifdef AMIGA_LC_5_1
X-     AMIGA_NewScreen.TopEdge = 1;
X-     AMIGA_NewScreen.LeftEdge = 0;
X- #endif
X      AMIGA_Screen = OpenScreenTagList(&AMIGA_NewScreen,AMIGA_ScrTagList);
X      if (AMIGA_Screen == NULL) {
X        fprintf(stderr,"No Screen\n");
X--- 158,163 ----
Xdiff -c -r ./term/apollo.trm ../gnuplot3p1/term/apollo.trm
X*** ./term/apollo.trm	Mon Jun  3 11:15:26 1991
X--- ../gnuplot3p1/term/apollo.trm	Sun Dec  1 15:21:18 1991
X***************
X*** 13,18 ****
X--- 13,19 ----
X      Ray Lischner (uunet!mntgfx!lisch)
X      4 October 1989	file created for GNUplot 1.1
X      26 March 1990	updated for GNUplot 2.0
X+     30 October 1991	fixed minor problem in apollo_tic_sizes
X  */
X  
X  #include <apollo/base.h>
X***************
X*** 148,155 ****
X      if (tbl->v_tic < APOLLO_VTIC)
X  	tbl->v_tic = APOLLO_VTIC;
X      tbl->h_tic = tbl->xmax / 50;
X!     if (tbl->v_tic < APOLLO_HTIC)
X! 	tbl->v_tic = APOLLO_HTIC;
X  }
X  
X  /*
X--- 149,156 ----
X      if (tbl->v_tic < APOLLO_VTIC)
X  	tbl->v_tic = APOLLO_VTIC;
X      tbl->h_tic = tbl->xmax / 50;
X!     if (tbl->h_tic < APOLLO_HTIC)
X! 	tbl->h_tic = APOLLO_HTIC;
X  }
X  
X  /*
Xdiff -c -r ./term/hp26.trm ../gnuplot3p1/term/hp26.trm
X*** ./term/hp26.trm	Mon Mar 26 16:02:34 1990
X--- ../gnuplot3p1/term/hp26.trm	Sun Dec  1 14:48:28 1991
X***************
X*** 107,113 ****
X  int x, y;
X  char *str;
X  {
X! 	HP26_move(x,y - HP26_VCHAR/2);
X  	fputs("\033*dS",outfile);
X  	fprintf(outfile,"\033*m3Q\033*l%s\n",str);
X  	fputs("\033*dT",outfile);
X--- 107,113 ----
X  int x, y;
X  char *str;
X  {
X! 	HP26_move(x,y + HP26_VCHAR/2);
X  	fputs("\033*dS",outfile);
X  	fprintf(outfile,"\033*m3Q\033*l%s\n",str);
X  	fputs("\033*dT",outfile);
Xdiff -c -r ./term/hpgl.trm ../gnuplot3p1/term/hpgl.trm
X*** ./term/hpgl.trm	Sun Aug 25 13:55:04 1991
X--- ../gnuplot3p1/term/hpgl.trm	Sun Dec  1 14:48:27 1991
X***************
X*** 59,64 ****
X--- 59,79 ----
X  }
X  
X  
X+ HPLJIII_graphics()
X+ {
X+ 	fprintf(outfile,
X+ 	"\033%0B\nIN;\nSC0,%d,0,%d;\nSR%f,%f;\n",
X+ 		HPGL_XMAX,HPGL_YMAX,
X+ 		((double)(HPGL_HCHAR)*200/3/HPGL_XMAX),
X+ 		((double)(HPGL_VCHAR)*100/2/HPGL_YMAX) );
X+ /*	 1    2             3 
X+ 	1. reset to power-up defaults
X+ 	2. set SCaling
X+ 	3. set character size
X+ */
X+ 	HPGL_ang = 0;
X+ }
X+ 
X  HPGL_graphics()
X  {
X  	fprintf(outfile,
X***************
X*** 75,80 ****
X--- 90,106 ----
X  }
X  
X  
X+ HPLJIII_text()
X+ {
X+ 	fputs("PU;\nSP0;\n\033.Z\0",outfile);
X+ /*	       1    2     3
X+ 	1. pen up
X+ 	2. park pen
X+ 	3. disable eavesdropping
X+ */
X+ 	fputs("\033%0A\033E\n",outfile);
X+ }
X+ 
X  HPGL_text()
X  {
X  	fputs("PU;\nSP0;\n\033.Z\0",outfile);
X***************
X*** 151,155 ****
X  
X  HPLJIII_reset()
X  {
X! 	fputs("\033E\n",outfile);
X  }
X--- 177,181 ----
X  
X  HPLJIII_reset()
X  {
X! 	fputs("\033%0A\033E\n",outfile);
X  }
Xdiff -c -r ./term/latex.trm ../gnuplot3p1/term/latex.trm
X*** ./term/latex.trm	Thu Sep  5 11:23:32 1991
X--- ../gnuplot3p1/term/latex.trm	Sun Dec  1 14:48:29 1991
X***************
X*** 128,133 ****
X--- 128,134 ----
X      fprintf(outfile, 
X  		  "\\ifx\\plotpoint\\undefined\\newsavebox{\\plotpoint}\\fi\n");
X      LATEX_linetype(-1);
X+ 	LATEX_size =0;
X  }
X  
X  
Xdiff -c -r ./term/post.trm ../gnuplot3p1/term/post.trm
X*** ./term/post.trm	Fri Aug 30 09:14:06 1991
X--- ../gnuplot3p1/term/post.trm	Sun Dec  1 14:58:31 1991
X***************
X*** 25,36 ****
X   * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
X   *
X   * The 'postscript' driver produces landscape output 10" wide and 7" high.  
X-  * To get a smaller epsf output use 'set size 0.5,0.5', 
X-  * 'set term postscript portrait', make only one plot per file
X-  * and change the first line of the postscript file from
X-  * '%!PS-Adobe-2.0' to '%!PS-Adobe-2.0 EPSF-2.0'
X   * To change font to Times-Roman and font size to 20pts use 
X   * 'set term postscript "Times-Roman" 20'.
X   */
X  
X  
X--- 25,35 ----
X   * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
X   *
X   * The 'postscript' driver produces landscape output 10" wide and 7" high.  
X   * To change font to Times-Roman and font size to 20pts use 
X   * 'set term postscript "Times-Roman" 20'.
X+  * To get a smaller (5" x 3.5") eps output use 'set term post eps'
X+  * and make only one plot per file.  Font size for eps will be half
X+  * the specified size.
X   */
X  
X  
X***************
X*** 40,45 ****
X--- 39,46 ----
X  int ps_fontsize = 14;					 /* size of font in pts */
X  BOOLEAN ps_portrait = FALSE;				 /* vertical page */
X  BOOLEAN ps_color = FALSE;
X+ BOOLEAN ps_eps = FALSE;	/* Is this for an eps file? */
X+ 			/* Added by Robert Davis <davis@ecn.purdue.edu> */
X  int ps_page=0;			/* page count */
X  int ps_path_count=0; 	/* count of lines in path */
X  int ps_ang=0;			/* text angle */
X***************
X*** 134,150 ****
X--- 135,161 ----
X  	if (!END_OF_COMMAND) {
X  		if (almost_equals(c_token,"p$ortrait")) {
X  			ps_portrait=TRUE;
X+  			ps_eps=FALSE;
X  			c_token++;
X  		}
X  		else if (almost_equals(c_token,"l$andscape")) {
X  			ps_portrait=FALSE;
X+  			ps_eps=FALSE;
X  			c_token++;
X  		}
X+  		else if (almost_equals(c_token,"e$psf")) {
X+  			ps_portrait=TRUE;
X+  			ps_eps = TRUE;
X+  			c_token++;
X+  		}
X  		else if (almost_equals(c_token,"d$efault")) {
X  			ps_portrait=FALSE;
X+  			ps_eps=FALSE;
X  			ps_color=FALSE;
X  			strcpy(ps_font,"Courier");
X  			ps_fontsize = 14;
X+ 			term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
X+ 			term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
X  			c_token++;
X  		}
X  	}
X***************
X*** 169,181 ****
X  		/* We have font size specified */
X  		struct value a;
X  		ps_fontsize = (int)real(const_express(&a));
X- 		c_token++;
X  		term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
X  		term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
X  	}
X  
X  	sprintf(term_options,"%s %s \"%s\" %d",
X! 		ps_portrait ? "portrait" : "landscape",
X  		ps_color ? "color" : "monochrome",ps_font,ps_fontsize);
X  }
X  
X--- 180,191 ----
X  		/* We have font size specified */
X  		struct value a;
X  		ps_fontsize = (int)real(const_express(&a));
X  		term_tbl[term].v_char = (unsigned int)(ps_fontsize*PS_SC);
X  		term_tbl[term].h_char = (unsigned int)(ps_fontsize*PS_SC*6/10);
X  	}
X  
X  	sprintf(term_options,"%s %s \"%s\" %d",
X! 		ps_eps ? "eps" : (ps_portrait ? "portrait" : "landscape"),
X  		ps_color ? "color" : "monochrome",ps_font,ps_fontsize);
X  }
X  
X***************
X*** 185,203 ****
X  struct termentry *t = &term_tbl[term];
X  int i;
X  	ps_page = 0;
X! 	fprintf(outfile,"%%!PS-Adobe-2.0\n");
X  	fprintf(outfile,"%%%%Creator: gnuplot\n");
X  	fprintf(outfile,"%%%%DocumentFonts: %s\n", ps_font);
X  	fprintf(outfile,"%%%%BoundingBox: %d %d ", PS_XOFF,PS_YOFF);
X  	if (ps_portrait)
X  		fprintf(outfile,"%d %d\n", 
X! 			(int)(xsize*(PS_XMAX)/PS_SC+0.5+PS_XOFF), 
X! 			(int)(ysize*(PS_YMAX)/PS_SC+0.5+PS_YOFF) );
X  	else 
X  		fprintf(outfile,"%d %d\n", 
X! 			(int)(ysize*(PS_YMAX)/PS_SC+0.5+PS_XOFF), 
X! 			(int)(xsize*(PS_XMAX)/PS_SC+0.5+PS_YOFF) );
X! 	fprintf(outfile,"%%%%Pages: (atend)\n");
X  	fprintf(outfile,"%%%%EndComments\n");
X  	fprintf(outfile,"/gnudict 40 dict def\ngnudict begin\n");
X  	fprintf(outfile,"/Color %s def\n",ps_color ? "true" : "false");
X--- 195,217 ----
X  struct termentry *t = &term_tbl[term];
X  int i;
X  	ps_page = 0;
X! 	if (!ps_eps)
X! 		fprintf(outfile,"%%!PS-Adobe-2.0\n");
X! 	else
X! 		fprintf(outfile,"%%!PS-Adobe-2.0 EPSF-2.0\n");
X  	fprintf(outfile,"%%%%Creator: gnuplot\n");
X  	fprintf(outfile,"%%%%DocumentFonts: %s\n", ps_font);
X  	fprintf(outfile,"%%%%BoundingBox: %d %d ", PS_XOFF,PS_YOFF);
X  	if (ps_portrait)
X  		fprintf(outfile,"%d %d\n", 
X! 			(int)(xsize*(ps_eps ? 0.5 : 1.0)*(PS_XMAX)/PS_SC+0.5+PS_XOFF), 
X! 			(int)(ysize*(ps_eps ? 0.5 : 1.0)*(PS_YMAX)/PS_SC+0.5+PS_YOFF) );
X  	else 
X  		fprintf(outfile,"%d %d\n", 
X! 			(int)(ysize*(ps_eps ? 0.5 : 1.0)*(PS_YMAX)/PS_SC+0.5+PS_XOFF), 
X! 			(int)(xsize*(ps_eps ? 0.5 : 1.0)*(PS_XMAX)/PS_SC+0.5+PS_YOFF) );
X! 	if (!ps_eps)
X! 		fprintf(outfile,"%%%%Pages: (atend)\n");
X  	fprintf(outfile,"%%%%EndComments\n");
X  	fprintf(outfile,"/gnudict 40 dict def\ngnudict begin\n");
X  	fprintf(outfile,"/Color %s def\n",ps_color ? "true" : "false");
X***************
X*** 217,235 ****
X  {
X  struct termentry *t = &term_tbl[term];
X  	ps_page++;
X! 	fprintf(outfile,"%%%%Page: %d %d\n",ps_page,ps_page);
X  	fprintf(outfile,"gnudict begin\n");
X  	fprintf(outfile,"gsave\n");
X  	fprintf(outfile,"%d %d translate\n",PS_XOFF,PS_YOFF);
X! 	if (ps_portrait) {
X! 	    fprintf(outfile,"%.3f %.3f scale\n", xsize/PS_SC, ysize/PS_SC);
X  	}
X- 	else {
X- 	    fprintf(outfile,"%.3f %.3f scale\n", ysize/PS_SC, xsize/PS_SC);
X- 	    fprintf(outfile,"90 rotate\n0 %d translate\n", -PS_YMAX);
X- 	}
X  	fprintf(outfile,"0 setgray\n");
X! 	fprintf(outfile,"/%s findfont %d ", ps_font, (t->v_char) );
X  	fprintf(outfile,"scalefont setfont\n");
X  	fprintf(outfile,"newpath\n");
X  	ps_path_count = 0;
X--- 231,248 ----
X  {
X  struct termentry *t = &term_tbl[term];
X  	ps_page++;
X! 	if (!ps_eps)
X! 		fprintf(outfile,"%%%%Page: %d %d\n",ps_page,ps_page);
X  	fprintf(outfile,"gnudict begin\n");
X  	fprintf(outfile,"gsave\n");
X  	fprintf(outfile,"%d %d translate\n",PS_XOFF,PS_YOFF);
X! 	fprintf(outfile,"%.3f %.3f scale\n", (ps_eps ? 0.5 : 1.0)/PS_SC,
X! 	                                     (ps_eps ? 0.5 : 1.0)/PS_SC);
X! 	if (!ps_portrait) {
X! 	    fprintf(outfile,"90 rotate\n0 %d translate\n", (int)(-PS_YMAX*ysize));
X  	}
X  	fprintf(outfile,"0 setgray\n");
X! 	fprintf(outfile,"/%s findfont %d ",ps_font, (t->v_char) );
X  	fprintf(outfile,"scalefont setfont\n");
X  	fprintf(outfile,"newpath\n");
X  	ps_path_count = 0;
X***************
X*** 246,252 ****
X  PS_reset()
X  {
X  	fprintf(outfile,"%%%%Trailer\n");
X! 	fprintf(outfile,"%%%%Pages: %d\n",ps_page);
X  }
X  
X  
X--- 259,266 ----
X  PS_reset()
X  {
X  	fprintf(outfile,"%%%%Trailer\n");
X! 	if (!ps_eps)
X! 		fprintf(outfile,"%%%%Pages: %d\n",ps_page);
X  }
X  
X  
SHAR_EOF
chmod 0644 diffs.patch1 ||
echo 'restore of diffs.patch1 failed'
Wc_c="`wc -c < 'diffs.patch1'`"
test 48527 -eq "$Wc_c" ||
	echo 'diffs.patch1: original size 48527, current size' "$Wc_c"
fi
# ============= term/ai.trm ==============
if test ! -d 'term'; then
    echo 'x - creating directory term'
    mkdir 'term'
fi
if test -f 'term/ai.trm' -a X"$1" != X"-c"; then
	echo 'x - skipping term/ai.trm (File already exists)'
else
echo 'x - extracting term/ai.trm (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'term/ai.trm' &&
X/* GNUPLOT - ai.trm */
X/*
X * Copyright (C) 1991   
X *
X * Permission to use, copy, and distribute this software and its
X * documentation for any purpose with or without fee is hereby granted, 
X * provided that the above copyright notice appear in all copies and 
X * that both that copyright notice and this permission notice appear 
X * in supporting documentation.
X *
X * Permission to modify the software is granted, but not the right to
X * distribute the modified code.  Modifications are to be distributed 
X * as patches to released version.
X *  
X * This software  is provided "as is" without express or implied warranty.
X * 
X * This file is included by ../term.c.
X *
X * This terminal driver supports:
X *     aifm
X *
X * AUTHORS
X *  Ray Ghanbari
X * 
X * send your comments or suggestions to (pixar!info-gnuplot@sun.com).
X *
X * The 'aifm' driver produces files editable by Adobe Illustrator 3.0
X * To change font to Courier and font size to 20pts use 
X * 'set term aifm "Courier" 20'.
X * To switch to color output use
X * 'set term aifm color'.
X */
X
X
X/* AIFM driver by Ray Ghanbari, ray@mtl.mit.edu, 
X *	based on PostScript driver by Russell Lang, rjl@monu1.cc.monash.edu.au */
X
Xchar ai_font[MAX_ID_LEN+1] = "Times-Roman" ; /* name of font */
Xint ai_fontsize = 14;					 /* size of font in pts */
XBOOLEAN ai_color = FALSE;
XBOOLEAN ai_stroke = FALSE;
Xint ai_page=0;			/* page count */
Xint ai_path_count=0; 	/* count of lines in path */
Xint ai_ang=0;			/* text angle */
Xenum JUSTIFY ai_justify=LEFT;	/* text is flush left */
X
X
X#define AI_XOFF	50	/* page offset in pts */
X#define AI_YOFF	50
X
X#define AI_XMAX 5000
X#define AI_YMAX 3500
X
X#define AI_XLAST (AI_XMAX - 1)
X#define AI_YLAST (AI_YMAX - 1)
X
X#define AI_VTIC (AI_YMAX/80)
X#define AI_HTIC (AI_YMAX/80)
X
X#define AI_SC (10.0)				/* scale is 1pt = 10 units */
X#define AI_LW (0.5*AI_SC)		/* linewidth = 0.5 pts */
X
X#define AI_VCHAR (14*AI_SC)		/* default is 14 point characters */
X#define AI_HCHAR (14*AI_SC*6/10)
X
X
XAI_options()
X{
X	extern struct value *const_express();
X	extern double real();
X
X	if (!END_OF_COMMAND) {
X		if (almost_equals(c_token,"d$efault")) {
X			ai_color=FALSE;
X			strcpy(ai_font,"Times-Roman");
X			ai_fontsize = 14;
X			c_token++;
X		}
X	}
X
X	if (!END_OF_COMMAND) {
X		if (almost_equals(c_token,"m$onochrome")) {
X			ai_color=FALSE;
X			c_token++;
X		}
X		else if (almost_equals(c_token,"c$olor")) {
X			ai_color=TRUE;
X			c_token++;
X		}
X	}
X
X	if (!END_OF_COMMAND && isstring(c_token)) {
X		quote_str(ai_font,c_token);
X		c_token++;
X	}
X
X	if (!END_OF_COMMAND) {
X		/* We have font size specified */
X		struct value a;
X		ai_fontsize = (int)real(const_express(&a));
X		c_token++;
X		term_tbl[term].v_char = (unsigned int)(ai_fontsize*AI_SC);
X		term_tbl[term].h_char = (unsigned int)(ai_fontsize*AI_SC*6/10);
X	}
X
X	sprintf(term_options,"%s \"%s\" %d",
X		ai_color ? "color" : "monochrome",ai_font,ai_fontsize);
X}
X
X
XAI_init()
X{
Xstruct termentry *t = &term_tbl[term];
Xint i;
X	ai_page = 0;
X	fprintf(outfile,"%%!PS-Adobe-2.0 EPSF-1.2\n");
X	fprintf(outfile,"%%%%BoundingBox: %d %d %d %d\n", AI_XOFF,AI_YOFF,
X		(int)((AI_XMAX)/AI_SC+0.5+AI_XOFF), 
X		(int)((AI_YMAX)/AI_SC+0.5+AI_YOFF) );
X	fprintf(outfile,"%%%%Template:\n");
X	fprintf(outfile,"%%%%EndComments\n");
X	fprintf(outfile,"%%%%EndProlog\n");
X}
X
X
XAI_graphics()
X{
Xstruct termentry *t = &term_tbl[term];
X	ai_page++;
X/*	fprintf(outfile,"%%%%Page: %d %d\n",ai_page,ai_page);*/
X	fprintf(outfile,"0 G\n");
X	fprintf(outfile,"1 j\n");
X	fprintf(outfile,"1 J\n");
X	fprintf(outfile,"u\n");
X	ai_path_count = 0;
X	ai_stroke = FALSE;
X}
X
X
XAI_text()
X{
X	if (ai_stroke) {
X		fprintf(outfile,"S\n");
X		ai_stroke = FALSE;
X	}
X	fprintf(outfile,"U\n");
X	ai_path_count = 0;
X}
X
X
XAI_reset()
X{
X	fprintf(outfile,"%%%%Trailer\n");
X/*	fprintf(outfile,"%%%%Pages: %d\n",ai_page);*/
X}
X
X
XAI_linetype(linetype)
Xint linetype;
X{
X	if (ai_stroke) {
X		fprintf(outfile,"S\n");
X		ai_stroke = FALSE;
X	}
X	switch(linetype) {
X		case -2 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC*2.0);
X				if (ai_color) {
X					fprintf(outfile,"0 0 0 1 K\n");
X				}
X				else {				
X					fprintf(outfile,"[] 0 d\n");
X				}
X				break;
X				
X		case -1 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC/2.0);
X				if (ai_color) {
X					fprintf(outfile,"0 0 0 1 K\n");
X				}
X				else {				
X					fprintf(outfile,"[1 2] 0 d\n");
X				}
X				break;
X				
X		case 0 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"1 0 1 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[] 0 d\n");
X				}
X				break;
X				
X		case 1 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"1 1 0 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[4 2] 0 d\n");
X				}
X				break;
X				
X		case 2 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0 1 1 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[2 3] 0 d\n");
X				}
X				break;
X				
X		case 3 :  fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0 1 0 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[1 1.5] 0 d\n");
X				}
X				break;
X				
X		case 4 :  fprintf(outfile,"%f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"1 0 0 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[5 2 1 2] 0 d\n");
X				}
X				break;
X				
X		case 5 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0 0 1 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[4 3 1 3] 0 d\n");
X				}
X				break;
X				
X		case 6 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0 0 0 1 K\n");
X				}
X				else {				
X					fprintf(outfile,"[2 2 2 4] 0 d\n");
X				}
X				break;
X				
X		case 7 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0 0.7 1 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[2 2 2 2 2 4] 0 d\n");
X				}
X				break;
X				
X		case 8 : fprintf(outfile,"%.2f w\n",AI_LW/AI_SC);
X				if (ai_color) {
X					fprintf(outfile,"0.5 0.5 0.5 0 K\n");
X				}
X				else {				
X					fprintf(outfile,"[2 2 2 2 2 2 2 4] 0 d\n");
X				}
X				break;
X		}
X				
X	ai_path_count = 0;
X}
X
X
XAI_move(x,y)
Xunsigned int x,y;
X{
X	if (ai_stroke) fprintf(outfile,"S\n");
X	fprintf(outfile,"%.2f %.2f m\n", x/AI_SC, y/AI_SC);
X	ai_path_count += 1;
X	ai_stroke = TRUE;
X}
X
X
XAI_vector(x,y)
Xunsigned int x,y;
X{
X	fprintf(outfile,"%.2f %.2f l\n", x/AI_SC, y/AI_SC);
X	ai_path_count += 1;
X	ai_stroke = TRUE;
X	if (ai_path_count >= 400) {
X		fprintf(outfile,"S\n%.2f %.2f m\n",x/AI_SC,y/AI_SC);
X		ai_path_count = 0;
X	}
X}
X
X
XAI_put_text(x,y,str)
Xunsigned int x, y;
Xchar *str;
X{
Xchar ch;
X	if (ai_stroke) {
X		fprintf(outfile,"S\n");
X		ai_stroke = FALSE;
X	}
X	switch(ai_justify) {
X		case LEFT :   fprintf(outfile,"/_%s %d 0 0 0 z\n",ai_font,ai_fontsize);
X			break;
X		case CENTRE : fprintf(outfile,"/_%s %d 0 0 1 z\n",ai_font,ai_fontsize);
X			break;
X		case RIGHT :  fprintf(outfile,"/_%s %d 0 0 2 z\n",ai_font,ai_fontsize);
X			break;
X	}
X	if (ai_ang==0) {
X		fprintf(outfile,"[ 1 0 0 1 %.2f %.2f] e\n",
X			x/AI_SC,y/AI_SC - ai_fontsize/3.0);
X	}
X	else {
X		fprintf(outfile,"[ 0 1 -1 0 %.2f %.2f] e\n",
X			x/AI_SC - ai_fontsize/3.0,y/AI_SC);
X	}
X		
X	putc('(',outfile);
X	ch = *str++;
X	while(ch!='\0') {
X		if ( (ch=='(') || (ch==')') || (ch=='\\') )
X			putc('\\',outfile);
X		putc(ch,outfile);
X		ch = *str++;
X	}
X	fprintf(outfile,") t\nT\n");
X	ai_path_count = 0;
X}
X
Xint AI_text_angle(ang)
Xint ang;
X{
X	ai_ang=ang;
X	return TRUE;
X}
X
Xint AI_justify_text(mode)
Xenum JUSTIFY mode;
X{
X	ai_justify=mode;
X	return TRUE;
X}
X
SHAR_EOF
chmod 0644 term/ai.trm ||
echo 'restore of term/ai.trm failed'
Wc_c="`wc -c < 'term/ai.trm'`"
test 7407 -eq "$Wc_c" ||
	echo 'term/ai.trm: original size 7407, current size' "$Wc_c"
fi
exit 0
