home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume16 / gnuplot2.02 / patch5 / patch2d
Encoding:
Text File  |  1991-01-05  |  46.0 KB  |  1,685 lines

  1. diff -cr ./makefile.x11 ../gnuplot2.02/makefile.x11
  2. *** ./makefile.x11    Tue Sep 18 14:56:55 1990
  3. --- ../gnuplot2.02/makefile.x11    Tue Dec 11 16:42:09 1990
  4. ***************
  5. *** 1,5
  6.   #
  7. ! # GNUPLOT Makefile (Unix X11 support)
  8.   #
  9.   
  10.   # directory where to install executables on 'make install'
  11.  
  12. --- 1,5 -----
  13.   #
  14. ! # GNUPLOT Makefile (Unix X11 Motif/Athena support)
  15.   #
  16.   
  17.   # directory where to install executables on 'make install'
  18. ***************
  19. *** 16,22
  20.   # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  21.   # -DBZERO if you need to use bzero() (another BSD feature) instead of memset() 
  22.   # -DNOCOPY if you don't have a memcpy() by any name
  23. ! # -DGAMMA if you've got gamma(3)
  24.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  25.   #    (but -fswitch is buggy on some systems, so watch out)
  26.   # -O if you trust your compiler's optimizer
  27.  
  28. --- 16,27 -----
  29.   # -DBCOPY if your memcpy() is called bcopy() (a Berkeleyism, right?)
  30.   # -DBZERO if you need to use bzero() (another BSD feature) instead of memset() 
  31.   # -DNOCOPY if you don't have a memcpy() by any name
  32. ! # -DGAMMA=gamma if you've got gamma(3)
  33. ! # -DNOCWDRC to inhibit check of ".gnuplot" in current directory
  34. ! #    (for security reasons)
  35. ! # -DGETCWD if your unix uses getcwd() instead of getcd()
  36. ! #    this is needed by HP-UX and Cray Unicos systems.
  37. ! # -Dunix is required to explicitly define "unix" for SCO 
  38.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  39.   #    (but -fswitch is buggy on some systems, so watch out)
  40.   # -O if you trust your compiler's optimizer
  41. ***************
  42. *** 20,27
  43.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  44.   #    (but -fswitch is buggy on some systems, so watch out)
  45.   # -O if you trust your compiler's optimizer
  46. ! # -Dunix and no -DVFORK if IBM RS/6000 AIX 3.1
  47. ! CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA #-gx #-O
  48.   
  49.   # -lplot if you have -DUNIXPLOT
  50.   # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  51.  
  52. --- 25,31 -----
  53.   # -fswitch if you are compiling on a Sun3 (or even -f68881)
  54.   #    (but -fswitch is buggy on some systems, so watch out)
  55.   # -O if you trust your compiler's optimizer
  56. ! CFLAGS = -DVFORK -DBCOPY -DBZERO -DGAMMA=gamma #-gx #-O
  57.   
  58.   # -lplot if you have -DUNIXPLOT
  59.   # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  60. ***************
  61. *** 26,31
  62.   # -lplot if you have -DUNIXPLOT
  63.   # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  64.   # -lgl_s if IRIS4D
  65.   LIBS = -lm -lplot
  66.   
  67.   # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  68.  
  69. --- 30,36 -----
  70.   # -lplot if you have -DUNIXPLOT
  71.   # -lsuntool -lsunwindow -lpixrect  if you have -DSUN
  72.   # -lgl_s if IRIS4D
  73. + # -lccgi if -DCGI
  74.   LIBS = -lm -lplot
  75.   
  76.   # -DMOTIF if Motif rather then Athena
  77. ***************
  78. *** 28,33
  79.   # -lgl_s if IRIS4D
  80.   LIBS = -lm -lplot
  81.   
  82.   # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  83.   # Apollo DomainOS 10.4.2 (R3): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  84.   # IBM RS/6000 AIX 3.1 (R3): -L/usr/lpp/X11/Xamples/lib/Xmu \
  85.  
  86. --- 33,41 -----
  87.   # -lccgi if -DCGI
  88.   LIBS = -lm -lplot
  89.   
  90. + # -DMOTIF if Motif rather then Athena
  91. + X11FLAGS = #-DMOTIF
  92.   # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  93.   # Apollo DomainOS 10.3 (R3/Athena): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  94.   # Apollo DomainOS 10.3 (R3/Motif): -L/usr/lib/X11 -lXm -lXtm -lX11
  95. ***************
  96. *** 29,36
  97.   LIBS = -lm -lplot
  98.   
  99.   # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  100. ! # Apollo DomainOS 10.4.2 (R3): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  101. ! # IBM RS/6000 AIX 3.1 (R3): -L/usr/lpp/X11/Xamples/lib/Xmu \
  102.   #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  103.   #                        -lXaw -lXmu -lXt -lXext -lX11
  104.   X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  105.  
  106. --- 37,45 -----
  107.   X11FLAGS = #-DMOTIF
  108.   
  109.   # standard MIT X11 R4:  -lXaw -lXmu -lXt -lXext -lX11
  110. ! # Apollo DomainOS 10.3 (R3/Athena): -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  111. ! # Apollo DomainOS 10.3 (R3/Motif): -L/usr/lib/X11 -lXm -lXtm -lX11
  112. ! # IBM RS/6000 AIX 3.1 (R3/Athena): -L/usr/lpp/X11/Xamples/lib/Xmu \
  113.   #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  114.   #                        -lXaw -lXmu -lXt -lXext -lX11
  115.   # IBM RS/6000 AIX 3.1 (R3/Motif): -lXm -lXt -lX11
  116. ***************
  117. *** 33,38
  118.   # IBM RS/6000 AIX 3.1 (R3): -L/usr/lpp/X11/Xamples/lib/Xmu \
  119.   #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  120.   #                        -lXaw -lXmu -lXt -lXext -lX11
  121.   X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  122.   
  123.   # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  124.  
  125. --- 42,49 -----
  126.   # IBM RS/6000 AIX 3.1 (R3/Athena): -L/usr/lpp/X11/Xamples/lib/Xmu \
  127.   #                -L/usr/lpp/X11/Xamples/lib/Xaw \
  128.   #                        -lXaw -lXmu -lXt -lXext -lX11
  129. + # IBM RS/6000 AIX 3.1 (R3/Motif): -lXm -lXt -lX11
  130. + # HP 9000/375 HP-UX 6.5 and 7.0 (R3/Motif): -lXm -lXt -lX11
  131.   X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  132.   
  133.   # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  134. ***************
  135. *** 36,44
  136.   X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  137.   
  138.   # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  139. ! # Apollo DomainOS 10.4.2 (R3): -I/usr/include/X11
  140. ! # IBM RS/6000 AIX 3.1 (R3): -I/usr/include/X11 -I/usr/lpp/X11/Xamples/lib/Xaw \
  141. ! #                        -I/usr/lpp/X11/Xamples/lib/Xaw/X11
  142.   X11INCLUDES = -I/usr/include/X11 -I/usr/include/X11/Xaw
  143.   
  144.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  145.  
  146. --- 47,59 -----
  147.   X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  148.   
  149.   # standard MIT X11 R4: -I/usr/include/X11 -I/usr/include/X11/Xaw 
  150. ! # Apollo DomainOS 10.3 (R3/Athena): -I/usr/include/X11
  151. ! # Apollo DomainOS 10.3 (R3/Motif): -I/usr/include/Xm
  152. ! # IBM RS/6000 AIX 3.1 (R3/Athena): -I/usr/include/X11 \
  153. ! #                   -I/usr/lpp/X11/Xamples/lib/Xaw \
  154. ! #                               -I/usr/lpp/X11/Xamples/lib/Xaw/X11
  155. ! # IBM RS/6000 AIX 3.1 (R3/Motif): -I/usr/include/Xm
  156. ! # HP 9000/375 HP-UX 6.5 and 7.0 (R3/Motif): -I/usr/include/Xm
  157.   X11INCLUDES = -I/usr/include/X11 -I/usr/include/X11/Xaw
  158.   
  159.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  160. ***************
  161. *** 43,48
  162.   
  163.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  164.   # see other terminal defines in term.h
  165.   # -DFIG         Fig graphics language (requires object.h from TransFig)
  166.   # -DIRIS4D      IRIS4D series computer
  167.   # -DSUN         Sun Microsystems Workstation
  168.  
  169. --- 58,64 -----
  170.   
  171.   # -D<terminal> in TERMFLAGS iff you wish to support <terminal>
  172.   # see other terminal defines in term.h
  173. + # -DCGI        SCO CGI
  174.   # -DFIG         Fig graphics language (requires object.h from TransFig)
  175.   # -DIRIS4D      IRIS4D series computer
  176.   # -DSUN         Sun Microsystems Workstation
  177. ***************
  178. *** 51,57
  179.   
  180.   TERMFLAGS =  -Iterm -DUNIXPLOT -DX11
  181.   
  182. ! OBJS = command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  183.       plot.o scanner.o setshow.o standard.o term.o util.o 
  184.   
  185.   DIRS = term demo bugtest docs docs/latextut translate
  186.  
  187. --- 67,73 -----
  188.   
  189.   TERMFLAGS =  -Iterm -DUNIXPLOT -DX11
  190.   
  191. ! OBJS = bitmap.o command.o eval.o graphics.o help.o internal.o misc.o parse.o\
  192.       plot.o scanner.o setshow.o standard.o term.o util.o 
  193.   
  194.   DIRS = term demo bugtest docs docs/latextut translate
  195. ***************
  196. *** 58,71
  197.   CSOURCE1 = command.c setshow.c 
  198.   CSOURCE2 = help.c graphics.c internal.c 
  199.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  200. ! CSOURCE4 = term.c util.c version.c
  201. ! CSOURCE5 = term/aed.trm term/dxy.trm term/epson.trm term/font5x7.trm \
  202. !     term/hp26.trm term/hp2648.trm term/hpgl.trm \
  203. !     term/hpljet.trm term/iris4d.trm term/sun.trm
  204. ! CSOURCE6 = term/post.trm term/pc.trm term/qms.trm term/regis.trm \
  205. !     term/tek.trm term/unixpc.trm term/unixplot.trm term/v384.trm
  206. ! CSOURCE7 = term/imPcodes.h term/imagen.trm term/object.h term/fig.trm \
  207. !     term/latex.trm term/eepic.trm term/x11.trm gnuplot_x11.c
  208.   # not C code, but still needed
  209.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  210.       README.x11 makefile.x11 \
  211.  
  212. --- 74,88 -----
  213.   CSOURCE1 = command.c setshow.c 
  214.   CSOURCE2 = help.c graphics.c internal.c 
  215.   CSOURCE3 = misc.c eval.c parse.c plot.c scanner.c standard.c 
  216. ! CSOURCE4 = bitmap.c term.c util.c version.c
  217. ! CSOURCE5 = term/aed.trm term/cgi.trm term/dxy.trm term/eepic.trm \
  218. !     term/epson.trm term/fig.trm term/hp26.trm term/hp2648.trm \
  219. !     term/hpgl.trm term/hpljii.trm 
  220. ! CSOURCE6 = term/imPcodes.h term/imagen.trm term/object.h \
  221. !     term/iris4d.trm term/kyo.trm term/latex.trm term/pc.trm 
  222. ! CSOURCE7 = term/post.trm term/qms.trm term/regis.trm term/sun.trm \
  223. !     term/t410x.trm term/tek.trm term/unixpc.trm term/unixplot.trm \
  224. !     term/v384.trm term/x11.trm gnuplot_x11.c
  225.   # not C code, but still needed
  226.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  227.       README.x11 makefile.x11 \
  228. ***************
  229. *** 69,75
  230.   # not C code, but still needed
  231.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  232.       README.x11 makefile.x11 \
  233. !     makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  234.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  235.       demo/simple.demo demo/polar.demo demo/electron.demo \
  236.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  237.  
  238. --- 86,92 -----
  239.   # not C code, but still needed
  240.   ETC = Copyright README README.gnutex makefile.unx makefile.vms  \
  241.       README.x11 makefile.x11 \
  242. !     makefile.3b1 plot.h help.h setshow.h bitmap.h term.h lasergnu \
  243.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  244.       demo/simple.demo demo/polar.demo demo/electron.demo \
  245.       demo/param.demo demo/using.demo demo/using.dat \
  246. ***************
  247. *** 72,77
  248.       makefile.3b1 plot.h help.h setshow.h term.h lasergnu \
  249.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  250.       demo/simple.demo demo/polar.demo demo/electron.demo \
  251.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  252.       bugtest/mscbug.c term/README \
  253.       linkopt.vms buildvms.com
  254.  
  255. --- 89,95 -----
  256.       makefile.3b1 plot.h help.h setshow.h bitmap.h term.h lasergnu \
  257.        demo/1.dat demo/2.dat demo/3.dat demo/controls.demo \
  258.       demo/simple.demo demo/polar.demo demo/electron.demo \
  259. +     demo/param.demo demo/using.demo demo/using.dat \
  260.       bugtest/README bugtest/printf.c bugtest/scanf.c \
  261.       bugtest/mscbug.c term/README \
  262.       linkopt.vms buildvms.com
  263. ***************
  264. *** 82,88
  265.   DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  266.       docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  267.       docs/gnuplot.1 docs/lasergnu.1 \
  268. !     docs/titlepage.ms docs/titlepage.tex 
  269.   DOCS2 = docs/gnuplot.doc
  270.   DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  271.       docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  272.  
  273. --- 100,106 -----
  274.   DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  275.       docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  276.       docs/gnuplot.1 docs/lasergnu.1 \
  277. !     docs/titlepage.ms docs/titlepage.tex
  278.   DOCS2 = docs/gnuplot.doc
  279.   DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  280.       docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  281. ***************
  282. *** 108,114
  283.       (cd translate; make)
  284.   
  285.   gnuplot_x11: gnuplot_x11.c
  286. !     $(CC) $(CFLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  287.   
  288.   install: gnuplot gnuplot_x11 doc man_install
  289.       cp gnuplot gnuplot_x11 lasergnu $(DEST)
  290.  
  291. --- 126,132 -----
  292.       (cd translate; make)
  293.   
  294.   gnuplot_x11: gnuplot_x11.c
  295. !     $(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  296.   
  297.   install: gnuplot gnuplot_x11 doc man_install
  298.       cp gnuplot gnuplot_x11 lasergnu $(DEST)
  299. ***************
  300. *** 116,124
  301.       strip $(DEST)/gnuplot_x11
  302.       (cd docs; make install-unix HELPDEST=$(HELPDEST))
  303.   
  304. ! man_install: docs/gnuplot.1.x11 docs/lasergnu.1
  305. !     cp docs/lasergnu.1 $(MANDEST)
  306. !     cp docs/gnuplot.1.x11 $(MANDEST)/gnuplot.1
  307.   
  308.   plot.o: plot.c
  309.       $(CC) $(CFLAGS) -DX11 -c plot.c
  310.  
  311. --- 134,141 -----
  312.       strip $(DEST)/gnuplot_x11
  313.       (cd docs; make install-unix HELPDEST=$(HELPDEST))
  314.   
  315. ! man_install: docs/gnuplot.1 docs/lasergnu.1
  316. !     cp docs/gnuplot.1 docs/lasergnu.1 $(MANDEST)
  317.   
  318.   plot.o: plot.c
  319.       $(CC) $(CFLAGS) -DX11 -c plot.c
  320. ***************
  321. *** 123,129
  322.   plot.o: plot.c
  323.       $(CC) $(CFLAGS) -DX11 -c plot.c
  324.   
  325. ! term.o: term.h $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  326.       $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  327.   
  328.   version.o:
  329.  
  330. --- 140,146 -----
  331.   plot.o: plot.c
  332.       $(CC) $(CFLAGS) -DX11 -c plot.c
  333.   
  334. ! term.o: term.h term.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  335.       $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  336.   
  337.   version.o:
  338. ***************
  339. *** 136,142
  340.   
  341.   command.o help.o misc.o: help.h
  342.   
  343. ! command.o graphics.o misc.o plot.o setshow.o: setshow.h
  344.   
  345.   SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  346.       $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  347.  
  348. --- 153,159 -----
  349.   
  350.   command.o help.o misc.o: help.h
  351.   
  352. ! command.o graphics.o misc.o plot.o setshow.o term.o: setshow.h
  353.   
  354.   bitmap.o term.o: bitmap.h
  355.   
  356. ***************
  357. *** 138,145
  358.   
  359.   command.o graphics.o misc.o plot.o setshow.o: setshow.h
  360.   
  361. ! SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  362. !     $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  363.   
  364.   lint:
  365.       lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  366.  
  367. --- 155,161 -----
  368.   
  369.   command.o graphics.o misc.o plot.o setshow.o term.o: setshow.h
  370.   
  371. ! bitmap.o term.o: bitmap.h
  372.   
  373.   SOURCES=plot.h help.h setshow.h bitmap.h term.h $(CSOURCE1) $(CSOURCE2) \
  374.       $(CSOURCE3) $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  375. ***************
  376. *** 141,146
  377.   SOURCES=plot.h help.h setshow.h $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) \
  378.       $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  379.   
  380.   lint:
  381.       lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  382.   
  383.  
  384. --- 157,165 -----
  385.   
  386.   bitmap.o term.o: bitmap.h
  387.   
  388. + SOURCES=plot.h help.h setshow.h bitmap.h term.h $(CSOURCE1) $(CSOURCE2) \
  389. +     $(CSOURCE3) $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  390.   lint:
  391.       lint -hx $(SOURCES)
  392.   
  393. ***************
  394. *** 142,148
  395.       $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  396.   
  397.   lint:
  398. !     lint -hx $(CSOURCE1) $(CSOURCE2) $(CSOURCE3) $(CSOURCE4)
  399.   
  400.   clean:
  401.       rm -f *.o *~ term/*~
  402.  
  403. --- 161,167 -----
  404.       $(CSOURCE3) $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  405.   
  406.   lint:
  407. !     lint -hx $(SOURCES)
  408.   
  409.   clean:
  410.       rm -f *.o *~ term/*~
  411. diff -cr ./misc.c ../gnuplot2.02/misc.c
  412. *** ./misc.c    Tue Sep 18 14:56:57 1990
  413. --- ../gnuplot2.02/misc.c    Tue Dec  4 09:23:40 1990
  414. ***************
  415. *** 36,41
  416.   #include <graphics.h>
  417.   #endif
  418.   
  419.   extern char *malloc();
  420.   
  421.   extern int c_token;
  422.  
  423. --- 36,42 -----
  424.   #include <graphics.h>
  425.   #endif
  426.   
  427. + #ifndef _IBMR2
  428.   extern char *malloc();
  429.   #endif
  430.   
  431. ***************
  432. *** 37,42
  433.   #endif
  434.   
  435.   extern char *malloc();
  436.   
  437.   extern int c_token;
  438.   extern char replot_line[];
  439.  
  440. --- 38,44 -----
  441.   
  442.   #ifndef _IBMR2
  443.   extern char *malloc();
  444. + #endif
  445.   
  446.   extern int c_token;
  447.   extern char replot_line[];
  448. ***************
  449. *** 224,229
  450.               log_x ? 'x' : ' ', log_y ? 'y' : ' ');
  451.       fprintf(fp,"set offsets %g, %g, %g, %g\n",loff,roff,toff,boff);
  452.       fprintf(fp,"set %spolar\n", (polar)? "" : "no");
  453.       fprintf(fp,"set samples %d\n",samples);
  454.       fprintf(fp,"set size %g,%g\n",xsize,ysize);
  455.       fprintf(fp,"set data style ");
  456.  
  457. --- 226,232 -----
  458.               log_x ? 'x' : ' ', log_y ? 'y' : ' ');
  459.       fprintf(fp,"set offsets %g, %g, %g, %g\n",loff,roff,toff,boff);
  460.       fprintf(fp,"set %spolar\n", (polar)? "" : "no");
  461. +     fprintf(fp,"set %sparametric\n", (parametric)? "" : "no");
  462.       fprintf(fp,"set samples %d\n",samples);
  463.       fprintf(fp,"set size %g,%g\n",xsize,ysize);
  464.       fprintf(fp,"set data style ");
  465. ***************
  466. *** 246,251
  467.        save_tics(fp, xtics, 'x', &xticdef);
  468.        save_tics(fp, ytics, 'y', &yticdef);
  469.       fprintf(fp,"set title \"%s\"\n",title);
  470.       fprintf(fp,"set xlabel \"%s\"\n",xlabel);
  471.       fprintf(fp,"set xrange [%g : %g]\n",xmin,xmax);
  472.       fprintf(fp,"set ylabel \"%s\"\n",ylabel);
  473.  
  474. --- 249,255 -----
  475.        save_tics(fp, xtics, 'x', &xticdef);
  476.        save_tics(fp, ytics, 'y', &yticdef);
  477.       fprintf(fp,"set title \"%s\"\n",title);
  478. +     fprintf(fp,"set trange [%g : %g]\n",tmin,tmax);
  479.       fprintf(fp,"set xlabel \"%s\"\n",xlabel);
  480.       fprintf(fp,"set xrange [%g : %g]\n",xmin,xmax);
  481.       fprintf(fp,"set ylabel \"%s\"\n",ylabel);
  482. ***************
  483. *** 250,255
  484.       fprintf(fp,"set xrange [%g : %g]\n",xmin,xmax);
  485.       fprintf(fp,"set ylabel \"%s\"\n",ylabel);
  486.       fprintf(fp,"set yrange [%g : %g]\n",ymin,ymax);
  487.       fprintf(fp,"set %s %c%c\n", 
  488.           (autoscale_y||autoscale_x) ? "autoscale" : "noautoscale", 
  489.           autoscale_x ? 'x' : ' ', autoscale_y ? 'y' : ' ');
  490.  
  491. --- 254,261 -----
  492.       fprintf(fp,"set xrange [%g : %g]\n",xmin,xmax);
  493.       fprintf(fp,"set ylabel \"%s\"\n",ylabel);
  494.       fprintf(fp,"set yrange [%g : %g]\n",ymin,ymax);
  495. +     fprintf(fp,"set %s %c\n", 
  496. +         autoscale_t ? "autoscale" : "noautoscale", 't');
  497.       fprintf(fp,"set %s %c%c\n", 
  498.           (autoscale_y||autoscale_x) ? "autoscale" : "noautoscale", 
  499.           autoscale_x ? 'x' : ' ', autoscale_y ? 'y' : ' ');
  500. ***************
  501. *** 341,347
  502.                    
  503.                   if (input_line[len] == '\\') { /* line continuation */
  504.                       start = len;
  505. !                     left -= len;
  506.                   } else
  507.                     more = FALSE;
  508.                }
  509.  
  510. --- 347,353 -----
  511.                    
  512.                   if (input_line[len] == '\\') { /* line continuation */
  513.                       start = len;
  514. !                     left  = MAX_LINE_LEN - start; /* left -=len;*/
  515.                   } else
  516.                     more = FALSE;
  517.                }
  518. diff -cr ./plot.c ../gnuplot2.02/plot.c
  519. *** ./plot.c    Tue Sep 18 14:57:01 1990
  520. --- ../gnuplot2.02/plot.c    Mon Nov 26 09:17:19 1990
  521. ***************
  522. *** 167,176
  523.   /* Register the Borland Graphics Interface drivers. If they have been */
  524.   /* included by the linker.                                            */
  525.   #ifdef __TURBOC__
  526. ! registerbgidriver(CGA_driver);
  527. ! registerbgidriver(EGAVGA_driver);
  528. ! registerbgidriver(Herc_driver);
  529. ! registerbgidriver(ATT_driver);
  530.   #endif
  531.   #ifdef X11
  532.        { int n = X11_args(argc, argv); argv += n; argc -= n; }
  533.  
  534. --- 167,176 -----
  535.   /* Register the Borland Graphics Interface drivers. If they have been */
  536.   /* included by the linker.                                            */
  537.   #ifdef __TURBOC__
  538. ! registerfarbgidriver(CGA_driver_far);
  539. ! registerfarbgidriver(EGAVGA_driver_far);
  540. ! registerfarbgidriver(Herc_driver_far);
  541. ! registerfarbgidriver(ATT_driver_far);
  542.   #endif
  543.   #ifdef X11
  544.        { int n = X11_args(argc, argv); argv += n; argc -= n; }
  545. ***************
  546. *** 209,215
  547.           /* after catching interrupt */
  548.           /* VAX stuffs up stdout on SIGINT while writing to stdout,
  549.             so reopen stdout. */
  550. !         if (outfile = stdout) {
  551.              if ( (stdout = freopen("SYS$OUTPUT","w",stdout))  == NULL) {
  552.                 /* couldn't reopen it so try opening it instead */
  553.                 if ( (stdout = fopen("SYS$OUTPUT","w"))  == NULL) {
  554.  
  555. --- 209,215 -----
  556.           /* after catching interrupt */
  557.           /* VAX stuffs up stdout on SIGINT while writing to stdout,
  558.             so reopen stdout. */
  559. !         if (outfile == stdout) {
  560.              if ( (stdout = freopen("SYS$OUTPUT","w",stdout))  == NULL) {
  561.                 /* couldn't reopen it so try opening it instead */
  562.                 if ( (stdout = fopen("SYS$OUTPUT","w"))  == NULL) {
  563. ***************
  564. *** 270,275
  565.   #else
  566.       (void) strcat(strcpy(home,getenv(HOME)),"/");
  567.   #endif                    /* vms */
  568.       (void) strcpy(rcfile, PLOTRC);
  569.       plotrc = fopen(rcfile,"r");
  570.       if (plotrc == (FILE *)NULL) {
  571.  
  572. --- 270,279 -----
  573.   #else
  574.       (void) strcat(strcpy(home,getenv(HOME)),"/");
  575.   #endif                    /* vms */
  576. + #ifdef NOCWDRC
  577. +     /* inhibit check of init file in current directory for security reasons */
  578. +     {
  579. + #else
  580.       (void) strcpy(rcfile, PLOTRC);
  581.       plotrc = fopen(rcfile,"r");
  582.       if (plotrc == (FILE *)NULL) {
  583. ***************
  584. *** 273,278
  585.       (void) strcpy(rcfile, PLOTRC);
  586.       plotrc = fopen(rcfile,"r");
  587.       if (plotrc == (FILE *)NULL) {
  588.          (void) sprintf(rcfile, "%s%s", home, PLOTRC);
  589.          plotrc = fopen(rcfile,"r");
  590.       }
  591.  
  592. --- 277,283 -----
  593.       (void) strcpy(rcfile, PLOTRC);
  594.       plotrc = fopen(rcfile,"r");
  595.       if (plotrc == (FILE *)NULL) {
  596. + #endif
  597.          (void) sprintf(rcfile, "%s%s", home, PLOTRC);
  598.          plotrc = fopen(rcfile,"r");
  599.       }
  600. diff -cr ./setshow.c ../gnuplot2.02/setshow.c
  601. *** ./setshow.c    Thu Aug 30 16:16:47 1990
  602. --- ../gnuplot2.02/setshow.c    Tue Dec  4 12:09:45 1990
  603. ***************
  604. *** 39,44
  605.    * global variables to hold status of 'set' options
  606.    *
  607.    */
  608.   BOOLEAN            autoscale_x    = TRUE;
  609.   BOOLEAN            autoscale_y    = TRUE;
  610.   BOOLEAN            autoscale_lx    = TRUE;
  611.  
  612. --- 39,45 -----
  613.    * global variables to hold status of 'set' options
  614.    *
  615.    */
  616. + BOOLEAN            autoscale_t    = TRUE;
  617.   BOOLEAN            autoscale_x    = TRUE;
  618.   BOOLEAN            autoscale_y    = TRUE;
  619.   BOOLEAN            autoscale_lt    = TRUE;
  620. ***************
  621. *** 41,46
  622.    */
  623.   BOOLEAN            autoscale_x    = TRUE;
  624.   BOOLEAN            autoscale_y    = TRUE;
  625.   BOOLEAN            autoscale_lx    = TRUE;
  626.   BOOLEAN            autoscale_ly    = TRUE;
  627.   BOOLEAN                clip_points    = FALSE;
  628.  
  629. --- 42,48 -----
  630.   BOOLEAN            autoscale_t    = TRUE;
  631.   BOOLEAN            autoscale_x    = TRUE;
  632.   BOOLEAN            autoscale_y    = TRUE;
  633. + BOOLEAN            autoscale_lt    = TRUE;
  634.   BOOLEAN            autoscale_lx    = TRUE;
  635.   BOOLEAN            autoscale_ly    = TRUE;
  636.   BOOLEAN                clip_points    = FALSE;
  637. ***************
  638. *** 59,64
  639.   FILE*            outfile;
  640.   char            outstr[MAX_ID_LEN+1] = "STDOUT";
  641.   BOOLEAN            polar        = FALSE;
  642.   int                samples        = SAMPLES;
  643.   float            xsize        = 1.0;  /* scale factor for size */
  644.   float            ysize        = 1.0;  /* scale factor for size */
  645.  
  646. --- 61,67 -----
  647.   FILE*            outfile;
  648.   char            outstr[MAX_ID_LEN+1] = "STDOUT";
  649.   BOOLEAN            polar        = FALSE;
  650. + BOOLEAN            parametric    = FALSE;
  651.   int                samples        = SAMPLES;
  652.   float            xsize        = 1.0;  /* scale factor for size */
  653.   float            ysize        = 1.0;  /* scale factor for size */
  654. ***************
  655. *** 66,72
  656.   char            title[MAX_LINE_LEN+1] = "";
  657.   char            xlabel[MAX_LINE_LEN+1] = "";
  658.   char            ylabel[MAX_LINE_LEN+1] = "";
  659. ! double            xmin        = -10.0,
  660.                   xmax        = 10.0,
  661.                   ymin        = -10.0,
  662.                   ymax        = 10.0;
  663.  
  664. --- 69,77 -----
  665.   char            title[MAX_LINE_LEN+1] = "";
  666.   char            xlabel[MAX_LINE_LEN+1] = "";
  667.   char            ylabel[MAX_LINE_LEN+1] = "";
  668. ! double            tmin        = -5.0,
  669. !                 tmax        =  5.0,
  670. !                 xmin        = -10.0,
  671.                   xmax        = 10.0,
  672.                   ymin        = -10.0,
  673.                   ymax        = 10.0;
  674. ***************
  675. *** 76,81
  676.                   boff        = 0.0;
  677.   double            zero = ZERO;            /* zero threshold, not 0! */
  678.   
  679.   BOOLEAN xtics = TRUE;
  680.   BOOLEAN ytics = TRUE;
  681.   
  682.  
  683. --- 81,89 -----
  684.                   boff        = 0.0;
  685.   double            zero = ZERO;            /* zero threshold, not 0! */
  686.   
  687. + BOOLEAN xzeroaxis = TRUE;
  688. + BOOLEAN yzeroaxis = TRUE;
  689.   BOOLEAN xtics = TRUE;
  690.   BOOLEAN ytics = TRUE;
  691.   
  692. ***************
  693. *** 90,95
  694.   /*** other things we need *****/
  695.   extern char *strcpy(),*strcat();
  696.   extern int strlen();
  697.   
  698.   /* input data, parsing variables */
  699.   extern struct lexical_unit token[];
  700.  
  701. --- 98,104 -----
  702.   /*** other things we need *****/
  703.   extern char *strcpy(),*strcat();
  704.   extern int strlen();
  705. + extern FILE *popen();
  706.   
  707.   /* input data, parsing variables */
  708.   extern struct lexical_unit token[];
  709. ***************
  710. *** 116,121
  711.   static void show_style(), show_range(), show_zero();
  712.   static void show_offsets(), show_output(), show_samples(), show_size();
  713.   static void show_title(), show_xlabel(), show_ylabel();
  714.   static void show_label(), show_arrow(), show_grid(), show_key();
  715.   static void show_polar(), show_tics(), show_ticdef();
  716.   static void show_term(), show_plot(), show_autoscale(), show_clip();
  717.  
  718. --- 125,131 -----
  719.   static void show_style(), show_range(), show_zero();
  720.   static void show_offsets(), show_output(), show_samples(), show_size();
  721.   static void show_title(), show_xlabel(), show_ylabel();
  722. + static void show_xzeroaxis(), show_yzeroaxis();
  723.   static void show_label(), show_arrow(), show_grid(), show_key();
  724.   static void show_polar(), show_parametric(), show_tics(), show_ticdef();
  725.   static void show_term(), show_plot(), show_autoscale(), show_clip();
  726. ***************
  727. *** 117,123
  728.   static void show_offsets(), show_output(), show_samples(), show_size();
  729.   static void show_title(), show_xlabel(), show_ylabel();
  730.   static void show_label(), show_arrow(), show_grid(), show_key();
  731. ! static void show_polar(), show_tics(), show_ticdef();
  732.   static void show_term(), show_plot(), show_autoscale(), show_clip();
  733.   static void show_format(), show_logscale(), show_variables();
  734.   
  735.  
  736. --- 127,133 -----
  737.   static void show_title(), show_xlabel(), show_ylabel();
  738.   static void show_xzeroaxis(), show_yzeroaxis();
  739.   static void show_label(), show_arrow(), show_grid(), show_key();
  740. ! static void show_polar(), show_parametric(), show_tics(), show_ticdef();
  741.   static void show_term(), show_plot(), show_autoscale(), show_clip();
  742.   static void show_format(), show_logscale(), show_variables();
  743.   
  744. ***************
  745. *** 131,136
  746.   set_command()
  747.   {
  748.        static char testfile[MAX_LINE_LEN+1];
  749.   
  750.       c_token++;
  751.   
  752.  
  753. --- 141,149 -----
  754.   set_command()
  755.   {
  756.        static char testfile[MAX_LINE_LEN+1];
  757. + #ifdef unix
  758. +      static BOOLEAN pipe_open = FALSE;
  759. + #endif
  760.   
  761.       c_token++;
  762.   
  763. ***************
  764. *** 145,151
  765.        else if (almost_equals(c_token,"au$toscale")) {
  766.           c_token++;
  767.           if (END_OF_COMMAND) {
  768. !            autoscale_x = autoscale_y = TRUE;
  769.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  770.              autoscale_x = autoscale_y = TRUE;
  771.              c_token++;
  772.  
  773. --- 158,164 -----
  774.        else if (almost_equals(c_token,"au$toscale")) {
  775.           c_token++;
  776.           if (END_OF_COMMAND) {
  777. !            autoscale_t = autoscale_x = autoscale_y = TRUE;
  778.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  779.              autoscale_x = autoscale_y = TRUE;
  780.              c_token++;
  781. ***************
  782. *** 149,154
  783.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  784.              autoscale_x = autoscale_y = TRUE;
  785.              c_token++;
  786.           } else if (equals(c_token, "x")) {
  787.              autoscale_x = TRUE;
  788.              c_token++;
  789.  
  790. --- 162,170 -----
  791.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  792.              autoscale_x = autoscale_y = TRUE;
  793.              c_token++;
  794. +         } else if (equals(c_token, "t")) {
  795. +            autoscale_t = TRUE;
  796. +            c_token++;
  797.           } else if (equals(c_token, "x")) {
  798.              autoscale_x = TRUE;
  799.              c_token++;
  800. ***************
  801. *** 160,165
  802.       else if (almost_equals(c_token,"noau$toscale")) {
  803.           c_token++;
  804.           if (END_OF_COMMAND) {
  805.              autoscale_x = autoscale_y = FALSE;
  806.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  807.              autoscale_x = autoscale_y = FALSE;
  808.  
  809. --- 176,183 -----
  810.       else if (almost_equals(c_token,"noau$toscale")) {
  811.           c_token++;
  812.           if (END_OF_COMMAND) {
  813. +            autoscale_t = autoscale_x = autoscale_y = FALSE;
  814. +         } else if (equals(c_token, "xy") || equals(c_token, "tyx")) {
  815.              autoscale_x = autoscale_y = FALSE;
  816.              c_token++;
  817.           } else if (equals(c_token, "t")) {
  818. ***************
  819. *** 161,168
  820.           c_token++;
  821.           if (END_OF_COMMAND) {
  822.              autoscale_x = autoscale_y = FALSE;
  823. -         } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  824. -            autoscale_x = autoscale_y = FALSE;
  825.              c_token++;
  826.           } else if (equals(c_token, "x")) {
  827.              autoscale_x = FALSE;
  828.  
  829. --- 179,184 -----
  830.              autoscale_t = autoscale_x = autoscale_y = FALSE;
  831.           } else if (equals(c_token, "xy") || equals(c_token, "tyx")) {
  832.              autoscale_x = autoscale_y = FALSE;
  833.              c_token++;
  834.           } else if (equals(c_token, "t")) {
  835.              autoscale_t = FALSE;
  836. ***************
  837. *** 164,169
  838.           } else if (equals(c_token, "xy") || equals(c_token, "yx")) {
  839.              autoscale_x = autoscale_y = FALSE;
  840.              c_token++;
  841.           } else if (equals(c_token, "x")) {
  842.              autoscale_x = FALSE;
  843.              c_token++;
  844.  
  845. --- 180,188 -----
  846.           } else if (equals(c_token, "xy") || equals(c_token, "tyx")) {
  847.              autoscale_x = autoscale_y = FALSE;
  848.              c_token++;
  849. +         } else if (equals(c_token, "t")) {
  850. +            autoscale_t = FALSE;
  851. +            c_token++;
  852.           } else if (equals(c_token, "x")) {
  853.              autoscale_x = FALSE;
  854.              c_token++;
  855. ***************
  856. *** 212,218
  857.       }
  858.       else if (almost_equals(c_token,"d$ummy")) {
  859.           c_token++;
  860. !         copy_str(dummy_var,c_token++);
  861.       }
  862.       else if (almost_equals(c_token,"fo$rmat")) {
  863.           BOOLEAN setx, sety;
  864.  
  865. --- 231,240 -----
  866.       }
  867.       else if (almost_equals(c_token,"d$ummy")) {
  868.           c_token++;
  869. !         if (END_OF_COMMAND)
  870. !             int_error("expecting dummy variable name", c_token);
  871. !         else
  872. !             copy_str(dummy_var,c_token++);
  873.       }
  874.       else if (almost_equals(c_token,"fo$rmat")) {
  875.           BOOLEAN setx, sety;
  876. ***************
  877. *** 312,319
  878.               (*term_tbl[term].reset)();
  879.           if (END_OF_COMMAND) {    /* no file specified */
  880.                UP_redirect (4);
  881. !             if (outfile != stdout) /* Never close stdout */
  882. !                 (void) fclose(outfile);
  883.               outfile = stdout; /* Don't dup... */
  884.               term_init = FALSE;
  885.               (void) strcpy(outstr,"STDOUT");
  886.  
  887. --- 334,348 -----
  888.               (*term_tbl[term].reset)();
  889.           if (END_OF_COMMAND) {    /* no file specified */
  890.                UP_redirect (4);
  891. !             if (outfile != stdout) { /* Never close stdout */
  892. ! #ifdef unix
  893. !                 if ( pipe_open ) {
  894. !                     (void) pclose(outfile);
  895. !                     pipe_open = FALSE;
  896. !                 } else
  897. ! #endif
  898. !                     (void) fclose(outfile);
  899. !             }
  900.               outfile = stdout; /* Don't dup... */
  901.               term_init = FALSE;
  902.               (void) strcpy(outstr,"STDOUT");
  903. ***************
  904. *** 321,329
  905.               int_error("expecting filename",c_token);
  906.           else {
  907.               quote_str(testfile,c_token);
  908. !             if ((f = fopen(testfile,"w")) == (FILE *)NULL) {
  909. !               os_error("cannot open file; output not changed",c_token);
  910. !             }
  911.               if (outfile != stdout) /* Never close stdout */
  912.                   (void) fclose(outfile);
  913.               outfile = f;
  914.  
  915. --- 350,365 -----
  916.               int_error("expecting filename",c_token);
  917.           else {
  918.               quote_str(testfile,c_token);
  919. ! #ifdef unix
  920. !             if ( *testfile == '|' ) {
  921. !               if ((f = popen(testfile+1,"w")) == (FILE *)NULL)
  922. !                 os_error("cannot create pipe; output not changed",c_token);
  923. !               else
  924. !                 pipe_open = TRUE;
  925. !             } else
  926. ! #endif
  927. !               if ((f = fopen(testfile,"w")) == (FILE *)NULL)
  928. !                 os_error("cannot open file; output not changed",c_token);
  929.               if (outfile != stdout) /* Never close stdout */
  930.                   (void) fclose(outfile);
  931.               outfile = f;
  932. ***************
  933. *** 361,366
  934.           c_token++;
  935.           }
  936.       } 
  937.       else if (almost_equals(c_token,"pol$ar")) {
  938.           if (!polar) {
  939.              polar = TRUE;
  940.  
  941. --- 397,444 -----
  942.           c_token++;
  943.           }
  944.       } 
  945. +     else if (almost_equals(c_token,"xzero$axis")) {
  946. +         c_token++;
  947. +         xzeroaxis = TRUE;
  948. +     } 
  949. +     else if (almost_equals(c_token,"yzero$axis")) {
  950. +         c_token++;
  951. +         yzeroaxis = TRUE;
  952. +     } 
  953. +     else if (almost_equals(c_token,"zeroa$xis")) {
  954. +         c_token++;
  955. +         yzeroaxis = TRUE;
  956. +         xzeroaxis = TRUE;
  957. +     } 
  958. +     else if (almost_equals(c_token,"noxzero$axis")) {
  959. +         c_token++;
  960. +         xzeroaxis = FALSE;
  961. +     } 
  962. +     else if (almost_equals(c_token,"noyzero$axis")) {
  963. +         c_token++;
  964. +         yzeroaxis = FALSE;
  965. +     } 
  966. +     else if (almost_equals(c_token,"nozero$axis")) {
  967. +         c_token++;
  968. +         xzeroaxis = FALSE;
  969. +         yzeroaxis = FALSE;
  970. +     } 
  971. +     else if (almost_equals(c_token,"par$ametric")) {
  972. +         if (!parametric) {
  973. +            parametric = TRUE;
  974. +            strcpy (dummy_var, "t");
  975. +              (void) fprintf(stderr,"\n\tdummy variable is %s\n",dummy_var);
  976. +         }
  977. +         c_token++;
  978. +     }
  979. +     else if (almost_equals(c_token,"nopar$ametric")) {
  980. +         if (parametric) {
  981. +            parametric = FALSE;
  982. +            strcpy (dummy_var, "x");
  983. +              (void) fprintf(stderr,"\n\tdummy variable is %s\n",dummy_var);
  984. +         }
  985. +         c_token++;
  986. +     }
  987.       else if (almost_equals(c_token,"pol$ar")) {
  988.           if (!polar) {
  989.               polar = TRUE;
  990. ***************
  991. *** 363,371
  992.       } 
  993.       else if (almost_equals(c_token,"pol$ar")) {
  994.           if (!polar) {
  995. !            polar = TRUE;
  996. !            xmin = 0.0;
  997. !            xmax = 2*Pi;
  998.           }
  999.           c_token++;
  1000.       }
  1001.  
  1002. --- 441,454 -----
  1003.       }
  1004.       else if (almost_equals(c_token,"pol$ar")) {
  1005.           if (!polar) {
  1006. !             polar = TRUE;
  1007. !             if (parametric) {
  1008. !                 tmin = 0.0;
  1009. !                 tmax = 2*Pi;
  1010. !             } else {
  1011. !                 xmin = 0.0;
  1012. !                 xmax = 2*Pi;
  1013. !             }
  1014.           }
  1015.           c_token++;
  1016.       }
  1017. ***************
  1018. *** 371,379
  1019.       }
  1020.       else if (almost_equals(c_token,"nopo$lar")) {
  1021.           if (polar) {
  1022. !            polar = FALSE;
  1023. !            xmin = -10.0;
  1024. !            xmax = 10.0;
  1025.           }
  1026.           c_token++;
  1027.       }
  1028.  
  1029. --- 454,467 -----
  1030.       }
  1031.       else if (almost_equals(c_token,"nopo$lar")) {
  1032.           if (polar) {
  1033. !             polar = FALSE;
  1034. !             if (parametric) {
  1035. !                 tmin = -5.0;
  1036. !                 tmax = 5.0;
  1037. !             } else {
  1038. !                 xmin = -10.0;
  1039. !                 xmax = 10.0;
  1040. !             }
  1041.           }
  1042.           c_token++;
  1043.       }
  1044. ***************
  1045. *** 498,503
  1046.               c_token++;
  1047.           }
  1048.       }
  1049.       else if (almost_equals(c_token,"xr$ange")) {
  1050.            BOOLEAN changed;
  1051.           c_token++;
  1052.  
  1053. --- 586,604 -----
  1054.               c_token++;
  1055.           }
  1056.       }
  1057. +     else if (almost_equals(c_token,"tr$ange")) {
  1058. +          BOOLEAN changed;
  1059. +         c_token++;
  1060. +         if (!equals(c_token,"["))
  1061. +             int_error("expecting '['",c_token);
  1062. +         c_token++;
  1063. +         changed = load_range(&tmin,&tmax);
  1064. +         if (!equals(c_token,"]"))
  1065. +           int_error("expecting ']'",c_token);
  1066. +         c_token++;
  1067. +         if (changed)
  1068. +           autoscale_t = FALSE;
  1069. +     }
  1070.       else if (almost_equals(c_token,"xr$ange")) {
  1071.            BOOLEAN changed;
  1072.           c_token++;
  1073. ***************
  1074. *** 533,542
  1075.           int_error(
  1076.       "valid set options:  '{no}arrow', {no}autoscale', '{no}clip', data', \n\
  1077.       'dummy', 'format', 'function', '{no}grid', '{no}key', '{no}label', \n\
  1078. !     '{no}logscale','offsets', 'output', '{no}polar', 'samples', \n\
  1079. !     'size', 'terminal', 'tics', 'title', 'xlabel', 'xrange', 'xtics', \n\
  1080. !     'ylabel', 'yrange', 'ytics', 'zero',\n",
  1081. !     c_token);
  1082.   }
  1083.   
  1084.   /*********** Support functions for set_command ***********/
  1085.  
  1086. --- 634,643 -----
  1087.           int_error(
  1088.       "valid set options:  '{no}arrow', {no}autoscale', '{no}clip', data', \n\
  1089.       'dummy', 'format', 'function', '{no}grid', '{no}key', '{no}label', \n\
  1090. !     '{no}logscale','offsets', 'output', '{no}parametric', '{no}polar', \n\
  1091. !         'samples', 'size', 'terminal', 'tics', 'title', 'xlabel', 'xrange', \n\
  1092. !         'xtics', '{no}xzeroaxis', 'ylabel', 'yrange', 'ytics', \n\
  1093. !     '{no}yzeroaxis','zero','zeroaxis'", c_token);
  1094.   }
  1095.   
  1096.   /*********** Support functions for set_command ***********/
  1097. ***************
  1098. *** 1262,1267
  1099.           show_ylabel();
  1100.           c_token++;
  1101.       }
  1102.       else if (almost_equals(c_token,"la$bel")) {
  1103.           struct value a;
  1104.           int tag = 0;
  1105.  
  1106. --- 1363,1384 -----
  1107.           show_ylabel();
  1108.           c_token++;
  1109.       }
  1110. +     else if (almost_equals(c_token,"xzero$axis")) {
  1111. +         (void) putc('\n',stderr);
  1112. +         show_xzeroaxis();
  1113. +         c_token++;
  1114. +     }
  1115. +     else if (almost_equals(c_token,"yzero$axis")) {
  1116. +         (void) putc('\n',stderr);
  1117. +         show_yzeroaxis();
  1118. +         c_token++;
  1119. +     }
  1120. +     else if (almost_equals(c_token,"zeroa$xis")) {
  1121. +         (void) putc('\n',stderr);
  1122. +         show_xzeroaxis();
  1123. +         show_yzeroaxis();
  1124. +         c_token++;
  1125. +     }
  1126.       else if (almost_equals(c_token,"la$bel")) {
  1127.           struct value a;
  1128.           int tag = 0;
  1129. ***************
  1130. *** 1291,1296
  1131.           show_plot();
  1132.           c_token++;
  1133.       }
  1134.       else if (almost_equals(c_token,"pol$ar")) {
  1135.           (void) putc('\n',stderr);
  1136.           show_polar();
  1137.  
  1138. --- 1408,1418 -----
  1139.           show_plot();
  1140.           c_token++;
  1141.       }
  1142. +     else if (almost_equals(c_token,"par$ametric")) {
  1143. +         (void) putc('\n',stderr);
  1144. +         show_parametric();
  1145. +         c_token++;
  1146. +     }
  1147.       else if (almost_equals(c_token,"pol$ar")) {
  1148.           (void) putc('\n',stderr);
  1149.           show_polar();
  1150. ***************
  1151. *** 1324,1329
  1152.           show_term();
  1153.           c_token++;
  1154.       }
  1155.       else if (almost_equals(c_token,"v$ariables")) {
  1156.           show_variables();
  1157.           c_token++;
  1158.  
  1159. --- 1446,1456 -----
  1160.           show_term();
  1161.           c_token++;
  1162.       }
  1163. +     else if (almost_equals(c_token,"tr$ange")) {
  1164. +         (void) putc('\n',stderr);
  1165. +         show_range('t',tmin,tmax);
  1166. +         c_token++;
  1167. +     }
  1168.       else if (almost_equals(c_token,"v$ariables")) {
  1169.           show_variables();
  1170.           c_token++;
  1171. ***************
  1172. *** 1363,1368
  1173.           show_logscale();
  1174.           show_offsets();
  1175.           show_output();
  1176.           show_polar();
  1177.           show_samples();
  1178.           show_size();
  1179.  
  1180. --- 1490,1496 -----
  1181.           show_logscale();
  1182.           show_offsets();
  1183.           show_output();
  1184. +         show_parametric();
  1185.           show_polar();
  1186.           show_samples();
  1187.           show_size();
  1188. ***************
  1189. *** 1368,1373
  1190.           show_size();
  1191.           show_term();
  1192.           show_tics(TRUE,TRUE);
  1193.           show_range('x',xmin,xmax);
  1194.           show_range('y',ymin,ymax);
  1195.           show_title();
  1196.  
  1197. --- 1496,1503 -----
  1198.           show_size();
  1199.           show_term();
  1200.           show_tics(TRUE,TRUE);
  1201. +         if (parametric)
  1202. +             show_range('t',tmin,tmax);
  1203.           show_range('x',xmin,xmax);
  1204.           show_range('y',ymin,ymax);
  1205.           show_title();
  1206. ***************
  1207. *** 1383,1391
  1208.           int_error(
  1209.       "valid show options:  'action_table', 'all', 'arrow', 'autoscale',  \n\
  1210.       'clip', 'data', 'dummy', 'format', 'function', 'grid', 'key', 'label', \n\
  1211. !     'logscale', 'offsets', 'output', 'plot', 'polar', 'samples', \n\
  1212. !     'size', 'terminal', 'tics', 'title', 'variables', 'version', \n\
  1213. !     'xlabel', 'xrange', 'xtics', 'ylabel', 'yrange', 'ytics', 'zero'", c_token);
  1214.       screen_ok = FALSE;
  1215.       (void) putc('\n',stderr);
  1216.   }
  1217.  
  1218. --- 1513,1522 -----
  1219.           int_error(
  1220.       "valid show options:  'action_table', 'all', 'arrow', 'autoscale',  \n\
  1221.       'clip', 'data', 'dummy', 'format', 'function', 'grid', 'key', 'label', \n\
  1222. !     'logscale', 'offsets', 'output', 'plot', 'parametric','polar', \n\
  1223. !     'samples', 'size', 'terminal', 'tics', 'title', 'trange', 'variables', \n\
  1224. !     'version', 'xlabel', 'xrange', 'xtics', 'xzeroaxis', 'ylabel', \n\
  1225. !     'yrange', 'ytics', 'yzeroaxis', 'zero','zeroaxis'", c_token);
  1226.       screen_ok = FALSE;
  1227.       (void) putc('\n',stderr);
  1228.   }
  1229. ***************
  1230. *** 1464,1469
  1231.   }
  1232.   
  1233.   static void
  1234.   show_label(tag)
  1235.       int tag;                /* 0 means show all */
  1236.   {
  1237.  
  1238. --- 1595,1612 -----
  1239.   }
  1240.   
  1241.   static void
  1242. + show_xzeroaxis()
  1243. + {
  1244. +     fprintf(stderr,"\txzeroaxis is %s\n",(xzeroaxis)? "ON" : "OFF");
  1245. + }
  1246. + static void
  1247. + show_yzeroaxis()
  1248. + {
  1249. +     fprintf(stderr,"\tyzeroaxis is %s\n",(yzeroaxis)? "ON" : "OFF");
  1250. + }
  1251. + static void
  1252.   show_label(tag)
  1253.       int tag;                /* 0 means show all */
  1254.   {
  1255. ***************
  1256. *** 1542,1547
  1257.   }
  1258.   
  1259.   static void
  1260.   show_polar()
  1261.   {
  1262.       fprintf(stderr,"\tpolar is %s\n",(polar)? "ON" : "OFF");
  1263.  
  1264. --- 1685,1696 -----
  1265.   }
  1266.   
  1267.   static void
  1268. + show_parametric()
  1269. + {
  1270. +     fprintf(stderr,"\tparametric is %s\n",(parametric)? "ON" : "OFF");
  1271. + }
  1272. + static void
  1273.   show_polar()
  1274.   {
  1275.       fprintf(stderr,"\tpolar is %s\n",(polar)? "ON" : "OFF");
  1276. ***************
  1277. *** 1625,1630
  1278.   static void
  1279.   show_autoscale()
  1280.   {
  1281.       fprintf(stderr,"\tx autoscaling is %s\n",(autoscale_x)? "ON" : "OFF");
  1282.       fprintf(stderr,"\ty autoscaling is %s\n",(autoscale_y)? "ON" : "OFF");
  1283.   }
  1284.  
  1285. --- 1774,1781 -----
  1286.   static void
  1287.   show_autoscale()
  1288.   {
  1289. +     if (parametric)
  1290. +         fprintf(stderr,"\tt autoscaling is %s\n",(autoscale_t)? "ON" : "OFF");
  1291.       fprintf(stderr,"\tx autoscaling is %s\n",(autoscale_x)? "ON" : "OFF");
  1292.       fprintf(stderr,"\ty autoscaling is %s\n",(autoscale_y)? "ON" : "OFF");
  1293.   }
  1294. diff -cr ./setshow.h ../gnuplot2.02/setshow.h
  1295. *** ./setshow.h    Tue Mar 27 08:59:12 1990
  1296. --- ../gnuplot2.02/setshow.h    Fri Nov 23 17:54:14 1990
  1297. ***************
  1298. *** 31,36
  1299.    * global variables to hold status of 'set' options
  1300.    *
  1301.    */
  1302.   extern BOOLEAN            autoscale_x;
  1303.   extern BOOLEAN            autoscale_y;
  1304.   extern BOOLEAN            autoscale_lx;
  1305.  
  1306. --- 31,37 -----
  1307.    * global variables to hold status of 'set' options
  1308.    *
  1309.    */
  1310. + extern BOOLEAN            autoscale_t;
  1311.   extern BOOLEAN            autoscale_x;
  1312.   extern BOOLEAN            autoscale_y;
  1313.   extern BOOLEAN            autoscale_lt;
  1314. ***************
  1315. *** 33,38
  1316.    */
  1317.   extern BOOLEAN            autoscale_x;
  1318.   extern BOOLEAN            autoscale_y;
  1319.   extern BOOLEAN            autoscale_lx;
  1320.   extern BOOLEAN            autoscale_ly;
  1321.   extern BOOLEAN            clip_points;
  1322.  
  1323. --- 34,40 -----
  1324.   extern BOOLEAN            autoscale_t;
  1325.   extern BOOLEAN            autoscale_x;
  1326.   extern BOOLEAN            autoscale_y;
  1327. + extern BOOLEAN            autoscale_lt;
  1328.   extern BOOLEAN            autoscale_lx;
  1329.   extern BOOLEAN            autoscale_ly;
  1330.   extern BOOLEAN            clip_points;
  1331. ***************
  1332. *** 49,54
  1333.   extern FILE*            outfile;
  1334.   extern char            outstr[];
  1335.   extern BOOLEAN            polar;
  1336.   extern int            samples;
  1337.   extern float            xsize; /* scale factor for size */
  1338.   extern float            ysize; /* scale factor for size */
  1339.  
  1340. --- 51,57 -----
  1341.   extern FILE*            outfile;
  1342.   extern char            outstr[];
  1343.   extern BOOLEAN            polar;
  1344. + extern BOOLEAN            parametric;
  1345.   extern int            samples;
  1346.   extern float            xsize; /* scale factor for size */
  1347.   extern float            ysize; /* scale factor for size */
  1348. ***************
  1349. *** 56,62
  1350.   extern char            title[];
  1351.   extern char            xlabel[];
  1352.   extern char            ylabel[];
  1353. ! extern double            xmin, xmax, ymin, ymax;
  1354.   extern double            loff, roff, toff, boff;
  1355.   extern double            zero; /* zero threshold, not 0! */
  1356.   
  1357.  
  1358. --- 59,65 -----
  1359.   extern char            title[];
  1360.   extern char            xlabel[];
  1361.   extern char            ylabel[];
  1362. ! extern double            tmin, tmax, xmin, xmax, ymin, ymax;
  1363.   extern double            loff, roff, toff, boff;
  1364.   extern double            zero; /* zero threshold, not 0! */
  1365.   
  1366. ***************
  1367. *** 59,64
  1368.   extern double            xmin, xmax, ymin, ymax;
  1369.   extern double            loff, roff, toff, boff;
  1370.   extern double            zero; /* zero threshold, not 0! */
  1371.   
  1372.   extern BOOLEAN xtics;
  1373.   extern BOOLEAN ytics;
  1374.  
  1375. --- 62,70 -----
  1376.   extern double            tmin, tmax, xmin, xmax, ymin, ymax;
  1377.   extern double            loff, roff, toff, boff;
  1378.   extern double            zero; /* zero threshold, not 0! */
  1379. + extern BOOLEAN xzeroaxis;
  1380. + extern BOOLEAN yzeroaxis;
  1381.   
  1382.   extern BOOLEAN xtics;
  1383.   extern BOOLEAN ytics;
  1384. diff -cr ./standard.c ../gnuplot2.02/standard.c
  1385. *** ./standard.c    Tue Sep 18 14:57:05 1990
  1386. --- ../gnuplot2.02/standard.c    Tue Dec  4 09:22:48 1990
  1387. ***************
  1388. *** 491,498
  1389.               push( integer(&a,(int)floor((double)a.v.int_val)));            
  1390.               break;
  1391.           case CMPLX:
  1392. !             push( complex(&a,floor(a.v.cmplx_val.real),
  1393. !                 floor(a.v.cmplx_val.imag)) );
  1394.       }
  1395.   }
  1396.   
  1397.  
  1398. --- 491,497 -----
  1399.               push( integer(&a,(int)floor((double)a.v.int_val)));            
  1400.               break;
  1401.           case CMPLX:
  1402. !             push( integer(&a,(int)floor(a.v.cmplx_val.real)));
  1403.       }
  1404.   }
  1405.   
  1406. ***************
  1407. *** 507,513
  1408.               push( integer(&a,(int)ceil((double)a.v.int_val)));            
  1409.               break;
  1410.           case CMPLX:
  1411. !             push( complex(&a,ceil(a.v.cmplx_val.real), ceil(a.v.cmplx_val.imag)) );
  1412.       }
  1413.   }
  1414.   
  1415.  
  1416. --- 506,512 -----
  1417.               push( integer(&a,(int)ceil((double)a.v.int_val)));            
  1418.               break;
  1419.           case CMPLX:
  1420. !             push( integer(&a,(int)ceil(a.v.cmplx_val.real)));
  1421.       }
  1422.   }
  1423.   
  1424. ***************
  1425. *** 519,525
  1426.   register double y;
  1427.   struct value a;
  1428.   
  1429. !     y = gamma(real(pop(&a)));
  1430.       if (y > 88.0) {
  1431.           undefined = TRUE;
  1432.           push( integer(&a,0) );
  1433.  
  1434. --- 518,524 -----
  1435.   register double y;
  1436.   struct value a;
  1437.   
  1438. !     y = GAMMA(real(pop(&a)));
  1439.       if (y > 88.0) {
  1440.           undefined = TRUE;
  1441.           push( integer(&a,0) );
  1442. Common subdirectories: ./term and ../gnuplot2.02/term
  1443. diff -cr ./demo/using.demo ../gnuplot2.02/demo/using.demo
  1444. *** ./demo/using.demo    Thu Nov 29 11:08:09 1990
  1445. --- ../gnuplot2.02/demo/using.demo    Mon Nov 26 23:04:29 1990
  1446. ***************
  1447. *** 0
  1448.  
  1449. --- 1,23 -----
  1450. + #
  1451. + # Requires data file "using.dat" from this directory,
  1452. + # so change current working directory to this directory before running.
  1453. + #
  1454. + set samples 168
  1455. + set title "Convex     November 1-7 1989"
  1456. + set label "(Weekend)" at 5,25 center
  1457. + plot 'using.dat' using "%*s %*s %f %f" title "Logged in" with impulses,\
  1458. +      'using.dat' using "%*s %*s %f %*f %f" t "Load average" with points,\
  1459. +      'using.dat' using "%*s %*s %f %*f %*f %f" t "%CPU used" with lines
  1460. + set nolabel
  1461. + pause -1 "Hit return to continue"
  1462. + set title "Convex     November 1-7 1989    Circadian"
  1463. + set xrange[-1:24]
  1464. + plot 'using.dat' using "%*s %f %*f %f" title "Logged in" with impulses,\
  1465. +      'using.dat' using "%*s %f %*f %f" title "Logged in" with points
  1466. + pause -1 "Hit return to continue"
  1467. + # undo what we have done above
  1468. + set title
  1469. + set samples 160
  1470. + set xrange [-10:10]
  1471. diff -cr ./docs/doc2ms.c ../gnuplot2.02/docs/doc2ms.c
  1472. *** ./docs/doc2ms.c    Tue Mar 27 08:59:39 1990
  1473. --- ../gnuplot2.02/docs/doc2ms.c    Thu Nov 29 10:02:07 1990
  1474. ***************
  1475. *** 124,130
  1476.                   break;
  1477.                }
  1478.                default: {
  1479. !                 putms(line+1,b); 
  1480.                   break;
  1481.                }
  1482.                break;
  1483.  
  1484. --- 124,133 -----
  1485.                   break;
  1486.                }
  1487.                default: {
  1488. !                 if (line[0] == '\n')
  1489. !                   putms(line,b); /* handle totally blank line */
  1490. !                 else
  1491. !                   putms(line+1,b);
  1492.                   break;
  1493.                }
  1494.                break;
  1495. diff -cr ./docs/doc2tex.c ../gnuplot2.02/docs/doc2tex.c
  1496. *** ./docs/doc2tex.c    Thu Aug 30 16:14:59 1990
  1497. --- ../gnuplot2.02/docs/doc2tex.c    Thu Nov 29 10:02:09 1990
  1498. ***************
  1499. *** 107,113
  1500.                   (void) fputs("\\end{verbatim}\n",b);
  1501.                   verb=FALSE;
  1502.                } 
  1503. !              puttex(line+1,b);
  1504.             }
  1505.             break;
  1506.          }
  1507.  
  1508. --- 107,116 -----
  1509.                   (void) fputs("\\end{verbatim}\n",b);
  1510.                   verb=FALSE;
  1511.                } 
  1512. !              if (line[0] == '\n')
  1513. !                puttex(line,b); /* handle totally blank line */
  1514. !              else
  1515. !                puttex(line+1,b);
  1516.             }
  1517.             break;
  1518.          }
  1519. diff -cr ./docs/gnuplot.1 ../gnuplot2.02/docs/gnuplot.1
  1520. *** ./docs/gnuplot.1    Tue Sep 18 14:57:57 1990
  1521. --- ../gnuplot2.02/docs/gnuplot.1    Mon Dec 10 10:38:09 1990
  1522. ***************
  1523. *** 47,53
  1524.   HP2648,
  1525.   HP75xx,
  1526.   HPGL,
  1527. ! IBM Proprinter,
  1528.   Imagen,
  1529.   Iris 4D,
  1530.   Kermit-MS,
  1531.  
  1532. --- 47,53 -----
  1533.   HP2648,
  1534.   HP75xx,
  1535.   HPGL,
  1536. ! HP LaserJet II,
  1537.   Imagen,
  1538.   Iris 4D,
  1539.   Kermit-MS,
  1540. ***************
  1541. *** 51,56
  1542.   Imagen,
  1543.   Iris 4D,
  1544.   Kermit-MS,
  1545.   LaTeX,
  1546.   NEC CP6 pinwriter,
  1547.   PostScript,
  1548.  
  1549. --- 51,57 -----
  1550.   Imagen,
  1551.   Iris 4D,
  1552.   Kermit-MS,
  1553. + Kyocera laser printer,
  1554.   LaTeX,
  1555.   NEC CP6 pinwriter,
  1556.   PostScript,
  1557. ***************
  1558. *** 56,61
  1559.   PostScript,
  1560.   QMS QUIC,
  1561.   ReGis (VT125 and VT2xx),
  1562.   Selanar,
  1563.   Star color printer,
  1564.   Tandy DMP-130 printer,
  1565.  
  1566. --- 57,63 -----
  1567.   PostScript,
  1568.   QMS QUIC,
  1569.   ReGis (VT125 and VT2xx),
  1570. + SCO Xenix CGI,
  1571.   Selanar,
  1572.   Star color printer,
  1573.   Tandy DMP-130 printer,
  1574. ***************
  1575. *** 62,68
  1576.   Tek 401x,
  1577.   Tek 410x,
  1578.   Vectrix 384,
  1579. ! Unix PC (ATT 3b1 or ATT 7300)
  1580.   unixplot,  
  1581.   and X11.
  1582.   The PC version compiled by Microsoft C
  1583.  
  1584. --- 64,71 -----
  1585.   Tek 401x,
  1586.   Tek 410x,
  1587.   Vectrix 384,
  1588. ! VT like tekronix emulator,
  1589. ! Unix PC (ATT 3b1 or ATT 7300),
  1590.   unixplot,  
  1591.   and X11.
  1592.   The PC version compiled by Microsoft C
  1593. diff -cr ./term/unixpc.trm ../gnuplot2.02/term/unixpc.trm
  1594. *** ./term/unixpc.trm    Tue Sep 18 14:59:18 1990
  1595. --- ../gnuplot2.02/term/unixpc.trm    Wed Dec 12 11:00:30 1990
  1596. ***************
  1597. *** 81,88
  1598.   #define uPC_XLAST (uPC_XMAX - 1)
  1599.   #define uPC_YLAST (uPC_YMAX - 1)
  1600.   
  1601. ! #define uPC_VCHAR 11
  1602. ! #define uPC_HCHAR  7
  1603.   #define uPC_VTIC   8
  1604.   #define uPC_HTIC  12
  1605.   
  1606.  
  1607. --- 81,88 -----
  1608.   #define uPC_XLAST (uPC_XMAX - 1)
  1609.   #define uPC_YLAST (uPC_YMAX - 1)
  1610.   
  1611. ! #define uPC_VCHAR FNT5X9_VCHAR
  1612. ! #define uPC_HCHAR FNT5X9_HCHAR
  1613.   #define uPC_VTIC   8
  1614.   #define uPC_HTIC  12
  1615.   
  1616. ***************
  1617. *** 467,474
  1618.   unsigned int x, y;
  1619.   int c, angle;
  1620.   /*
  1621. !    Put a character at an x,y location in the bit map (using the font5x7
  1622. !    array.  This is mostly just copied from the epson driver.
  1623.   */
  1624.   {
  1625.      int i, j, k;
  1626.  
  1627. --- 467,474 -----
  1628.   unsigned int x, y;
  1629.   int c, angle;
  1630.   /*
  1631. !    Put a character at an x,y location in the bit map (using the fnt5x9
  1632. !    array.  This is mostly just copied from the bitmap.c driver.
  1633.   */
  1634.   {
  1635.      int i, j, k;
  1636. ***************
  1637. *** 473,479
  1638.   {
  1639.      int i, j, k;
  1640.      register Scr_type mask, *a;
  1641. !    char fc;
  1642.      unsigned int pixelon;
  1643.   
  1644.      i = c - ' ';
  1645.  
  1646. --- 473,479 -----
  1647.   {
  1648.      int i, j, k;
  1649.      register Scr_type mask, *a;
  1650. !    char_row fc;
  1651.      unsigned int pixelon;
  1652.   
  1653.      i = c - ' ';
  1654. ***************
  1655. *** 477,485
  1656.      unsigned int pixelon;
  1657.   
  1658.      i = c - ' ';
  1659. !    for(j=0; j < 9; j++) {
  1660. !       fc = font5x7[i][j];
  1661. !       for (k=0; k < 5; k++) {
  1662.            pixelon = ((unsigned int)(fc))>>k & 1;
  1663.            if (pixelon) {
  1664.               switch (angle) {
  1665.  
  1666. --- 477,485 -----
  1667.      unsigned int pixelon;
  1668.   
  1669.      i = c - ' ';
  1670. !    for (j=0; j<FNT5X9_VBITS; j++) {
  1671. !       fc = fnt5x9[i][j];
  1672. !       for (k=0; k<FNT5X9_HBITS; k++) {
  1673.            pixelon = ((unsigned int)(fc))>>k & 1;
  1674.            if (pixelon) {
  1675.               switch (angle) {
  1676.