2005-07-26 14:45  rtoy

	* src/f2cl5.l:

	Oops.  Need to make the declaration anyway because we need to figure
	out the type of the variable.

2005-07-26 14:37  rtoy

	* src/f2cl1.l:

	Don't proclaim *readtable* as special, because it's already in the CL
	package and special.  (For sbcl.)

2005-07-18 18:38  rtoy

	* packages/fishpack/: .cvsignore, ex/.cvsignore:

	Initial revision.

2005-07-18 18:37  rtoy

	* packages/hompack.system:

	Make some of the files :compile-only because the user is supposed to
	supply the definitions, and these are just templates for the user to
	fill in.

2005-07-17 07:15  rtoy

	* packages/fishpack.system:

	Add SEPX4 and dependencies and test program.

2005-07-17 07:05  rtoy

	* packages/fishpack/: chkpr4.f, chksn4.f, cofx.f, defe4.f, dx4.f,
	  dy4.f, minso4.f, ortho4.f, sepx4.f, speli4.f, tris4.f,
	  ex/cofx4.f, ex/tstsepx4.f:

	Import of SEPX4 and dependencies and test program.

2005-07-17 06:17  rtoy

	* packages/fishpack/: hw3crt.f, pois3d.f, pos3d1.f, trid.f,
	  ex/tsthw3crt.f:

	Import of HW3CRT and dependencies and test program.

2005-07-17 06:13  rtoy

	* packages/fishpack.system:

	o Add HSTCSP and dependencies.
	o Add defsystem for HSTCSP.  (But the test fails.)

2005-07-17 06:11  rtoy

	* packages/fishpack/ex/tsthstcsp.f:

	Some variables should really be arrays.

2005-07-17 06:10  rtoy

	* packages/fishpack/: hstcs1.f, hstcsp.f, ex/tsthstcsp.f:

	Add HSTCSP and dependencies and test program.

2005-07-17 05:55  rtoy

	* packages/fishpack.system:

	o Add HSTSSP
	o Add defsystem for HSTSSP.  We pass the test.

2005-07-17 05:54  rtoy

	* packages/fishpack/hstssp.f:

	Initial import of HSTSSP.

2005-07-17 05:52  rtoy

	* packages/fishpack/ex/tsthstssp.f:

	Some variables should really be arrays.

2005-07-17 05:51  rtoy

	* packages/fishpack/ex/tsthstssp.f:

	Initial import of HSTSSP test program.

2005-07-17 05:48  rtoy

	* packages/fishpack/hstcyl.f:

	Initial import of HSTCYL.

2005-07-17 05:38  rtoy

	* packages/fishpack.system:

	o Add HSTCYL
	o Add defsystem for HSTCYL test.  We pass.

2005-07-17 05:37  rtoy

	* packages/fishpack/ex/tsthstcyl.f:

	Some variables should really be arrays.

2005-07-17 05:35  rtoy

	* packages/fishpack/ex/tsthstcyl.f:

	Initial import of test program for HSTCYL.

2005-07-17 05:35  rtoy

	* packages/hompack/readme:

	Import README for HOMPACK from netlib.

2005-07-17 05:30  rtoy

	* packages/fishpack.system:

	o Add HSTPLR
	o Add defsystem for HSTPLR.  We pass the test.

2005-07-17 05:30  rtoy

	* packages/fishpack/ex/tsthstplr.f:

	Some variables should really be arrays.

2005-07-17 05:29  rtoy

	* packages/fishpack/hstplr.f:

	Initial import of HSTPLR.

2005-07-17 05:28  rtoy

	* packages/fishpack/ex/tsthstplr.f:

	Initial import of test program for HSTPLR.

2005-07-17 05:19  rtoy

	* packages/fishpack.system:

	o BLKTRI needs to declare the common block.
	o Add HSTCRT and dependencies.
	o Add defsystem for HWSCSP.  (But the test fails.)
	o Add defsystem for HSTCRT.  We pass the test.

2005-07-17 05:18  rtoy

	* packages/fishpack/: hstcrt.f, poistg.f, postg2.f:

	Import of HSTCRT and dependencies.

2005-07-17 05:17  rtoy

	* packages/fishpack/ex/tsthstcrt.f:

	Some variables should really be arrays.

2005-07-17 05:14  rtoy

	* packages/fishpack/ex/tsthstcrt.f:

	Initial import of test program for HSTCRT.

2005-07-17 05:13  rtoy

	* packages/fishpack/ex/tsthwscsp.f:

	Some variables should really be arrays.

2005-07-17 05:13  rtoy

	* packages/fishpack/tevls.f:

	Rename MACHEP to EPS to match other declarations of the common block.

2005-07-17 04:42  rtoy

	* packages/fishpack/ex/tsthwscsp.f:

	Initial import of test program for HWSCSP.

2005-07-17 04:17  rtoy

	* src/f2cl5.l:

	Don't try to declare a function if the function was a parameter.  We don't really know anything about the function.

2005-07-17 04:16  rtoy

	* src/NOTES:

	More notes about what's change.

2005-07-17 04:15  rtoy

	* packages/fishpack.system:

	Define defsystems for the various tests.

2005-07-17 00:43  rtoy

	* src/f2cl5.l:

	Make sure entry points are also entered into the function database.

2005-07-16 23:00  rtoy

	* src/f2cl5.l:

	In CHECK_NEW_VBLES, we need to add a special case for an expression
	containing ARRAY-SLICE because we don't want to add ARRAY-SLICE and
	the array type as new variables.  Are there other special cases?

2005-07-16 17:20  rtoy

	* packages/hompack.system:

	Split the tests into 3 separate systems because they use the same name
	for some functions so the tests can't all be loaded at the same time
	and still work.

2005-07-16 17:11  rtoy

	* src/f2cl1.l:

	In GENERATE-CALL-TO-ROUTINE, if the routine is a parameter, we don't
	really know anything about it even if we know the info about a routine
	of the same name.  Thus, there's nothing we can do except just call it
	and hope it's right.  (We warn the user, though!)

2005-07-16 17:09  rtoy

	* packages/: blas/.cvsignore, hompack/.cvsignore:

	Ignore more generated stuff.

2005-07-16 17:07  rtoy

	* packages/hompack.system:

	o File "f" isn't really part of system.  Remove it.

2005-07-15 17:28  rtoy

	* src/f2cl1.l:

	Make the parser for IF statements a little smarter.  "IF =" is not an
	IF statement.

2005-07-15 17:26  rtoy

	* packages/fishpack.system:

	Update to support HWSPLR, HWSCYL, and HWSSSP solvers.

2005-07-15 17:24  rtoy

	* packages/fishpack/ex/: tsthwscyl.f, tsthwsplr.f, tsthwsssp.f:

	Initial import of test programs for HWSPLR, HWSCYL, and HWSSSP.

2005-07-15 17:22  rtoy

	* packages/fishpack/: blktr1.f, blktri.f, bsrh.f, compb.f, cprod.f,
	  cprodp.f, epmach.f, hwscs1.f, hwscsp.f, hwscyl.f, hwsplr.f,
	  hwsss1.f, hwsssp.f, indxa.f, indxb.f, indxc.f, junk.f, ppadd.f,
	  ppsgf.f, ppspf.f, prod.f, prodp.f, psgf.f, store.f, tevls.f:

	Initial import OF HWSPLR, HWSCYL, and HWSSSP solvers.

2005-07-14 23:50  rtoy

	* packages/: fishpack.asd, fishpack.system,
	  fishpack/ex/tsthwscrt.f:

	Initial revision.

2005-07-14 23:49  rtoy

	* packages/fishpack/: cosgen.f, genbun.f, hwscrt.f, merge.f,
	  pimach.f, poisd2.f, poisn2.f, poisp2.f, tri3.f, trix.f:

	Initial import of fishpack hwscrt.

2005-07-14 23:44  rtoy

	* src/f2cl1.l:

	Oops.  Need to clear out *equivalenced-vars* on every call to f2cl, so
	we don't get old info!

2005-07-14 23:38  rtoy

	* src/: NOTES, f2cl1.l, f2cl5.l:

	o Change default array-type in F2CL to be the same as F2CL-COMPILE.

	o Add support for some EQUIVALENCE statements.  We can handle
	  equivalence statements that equivalence an array (element) to a
	  simple variable of the same type.  Everything else will cause an
	  error.  This is much better than putting a silly "not-translated"
	  string into the generated lisp file.

2005-07-14 19:29  rtoy

	* src/: NOTES, f2cl1.l:

	Make f2cl a little smarter when calling functions if f2cl knows the
	expected arg types of the function.  If the arg type is a simple
	variable and the actual arg is an array slice, convert the slice to an
	array reference.

2005-07-14 15:35  rtoy

	* f2cl.asd:

	Initial revision.  From Mario Mommer.

2005-06-20 04:01  rtoy

	* src/NOTES:

	Explain how to turn off merging of data inits in case it causes
	trouble.

2005-06-20 03:53  rtoy

	* src/: NOTES, f2cl1.l, f2cl5.l:

	Add code to try to merge the data statement initializers into the
	declaration of the saved variable itself instead of generating a bunch
	of fset forms.

	See NOTES for more detail.

	src/NOTES:
	o Describe change

	src/f2cl5.l:
	o (Gross) Implementation

	src/f2cl1.l:
	o Update version.

2005-06-01 17:29  rtoy

	* src/f2cl1.l:

	o Shorten the length of some lines in docstrings.
	o As part of the header, print out the lisp implementation type and
	  version.

2005-05-26 21:18  rtoy

	* src/f2cl5.l:

	Oops.  Remove some extraneous debugging outputs.

2005-05-26 18:00  rtoy

	* src/f2cl5.l:

	Don't create a declaration for a subprogram parameter if that
	parameter is also used as a function.  This happens if the function
	isn't declared external.

2005-05-19 17:09  rtoy

	* src/f2cl1.l:

	Gratuitous change to update the rev date.

2005-05-19 17:06  rtoy

	* src/macros.l:

	Oops.  make-label is in the f2cl-lib package.

2005-05-16 17:50  rtoy

	* src/macros.l:

	o Replace single semicolons with multiple semicolons as appropriate.
	o GCL apparently doesn't like some declarations, so comment them out
	  for GCL.
	o GCL doesn't like the defparameter for *lun-hash*.
	o GCL doesn't seem to have least-positive-normalized-double-float, so
	  make it the same as least-positive-double-float.  Likewise for
	  single-float.

	These changes come from maxima.

2005-03-28 22:38  rtoy

	* src/: f2cl5.l, macros.l:

	Make strings with an element-type of character instead of base-char,
	in case the Lisp implementation has unicode support.

2005-03-03 13:54  pvaneynd

	* debian/: changelog, control:

	debian release 1.0+cvs.2005.03.03

2004-11-09 19:37  rtoy

	* src/f2cl1.l:

	o Use compile-file-pathname for the output-file instead of T, because
	  that's a CMUCL extension.
	o Recognize real*4 as a declaration of type REAL.  We had forgotten
	  that.
	o When parsing common blocks with arrays in them that were already
	  dimensioned elsewhere, we were calling update_cm_array_dims
	  incorrectly with the parsed dimensions.  "Unparse" them first.  This
	  is really gross.

2004-09-01 16:17  rtoy

	* src/macros.l:

	atan2 takes single-float args, not double-float.

2004-08-18 05:49  rtoy

	* packages/odepack/opkdemo8.f:

	Remove equivalence statements that were used to initialize the
	arrays.  f2cl doesn't have limits on the number of continuation
	statements, so they're not needed.  (Besides, they're not supported by
	f2cl.)

2004-08-18 04:33  rtoy

	* packages/odepack/opkdemo8.f:

	NEQ, RTOL, and ATOL should be arrays I think.  N should be an array
	too.

2004-08-18 04:27  rtoy

	* packages/odepack/opkdemo7.f:

	o I think N should be an array, so make it so in the subroutines.
	o Remove the equivalence statements that f2cl doesn't support and the
	  corresponding variables.  (I think the equivalences were used to
	  initialize an array in parts without exceeding the limit of 6
	  continuation statements.)

	This still needs some work, I think.

2004-08-18 04:20  rtoy

	* packages/odepack/dainvg.f:

	I think NEQ should be an array, so make it so.

2004-08-18 03:47  rtoy

	* packages/odepack/: opkdemo1.f, opkdemo3.f, opkdemo4.f,
	  opkdemo6.f:

	NEQ is an array.

2004-08-18 03:45  rtoy

	* packages/odepack.system:

	o Update some dependencies
	o Add defsystems for the test demo programs.

2004-08-17 18:09  rtoy

	* src/f2cl1.l:

	Reinstate make-label here.  This really needs to be cleaned up.

2004-08-15 13:16  rtoy

	* src/f2cl5.l:

	Don't want that eval-when there.

2004-08-15 00:29  marcoxa

	* src/macros.l:

	Added an EVAL-WHEN to silence the LW compiler.

2004-08-14 23:51  rtoy

	* packages/odepack/opkdemo6.f:

	Fix up variables that need to be arrays.

2004-08-14 23:10  rtoy

	* packages/odepack/: opkdemo6.f, opkdemo7.f, opkdemo8.f,
	  opkdemo9.f:

	Initial revision.

2004-08-14 22:38  rtoy

	* packages/odepack/: opkd-sum, opkddemos, opkdemo2.f:

	Initial revision.

2004-08-14 22:34  rtoy

	* packages/README:

	Note odepack.

2004-08-14 21:27  rtoy

	* src/f2cl5.l:

	Try to clean up code a little.

2004-08-14 20:01  rtoy

	* src/NOTES:

	Note ODEPACK package.

2004-08-14 20:00  rtoy

	* packages/odepack/.cvsignore:

	Ignore files.

2004-08-14 19:56  rtoy

	* packages/odepack.system:

	Add defsystems for some of the demo test programs.

2004-08-14 19:35  rtoy

	* packages/odepack/opkdemo5.f:

	Some variables need to be arrays.

2004-08-14 19:00  rtoy

	* packages/odepack/opkdemo5.f:

	Initial version.

2004-08-14 18:58  rtoy

	* packages/odepack/opkdemo4.f:

	NEQ and RTOL are arrays.

2004-08-14 18:50  rtoy

	* packages/odepack/opkdemo4.f:

	Demo program for DLSODAR.

2004-08-14 18:49  rtoy

	* packages/odepack/opkdemo3.f:

	Demo program for DLSODA.

2004-08-14 18:38  rtoy

	* packages/odepack/opkdemo3.f:

	Demo program for DLSODA.

2004-08-14 18:35  rtoy

	* packages/odepack/opkdemo1.f:

	NEQ is an array.

2004-08-14 18:14  rtoy

	* packages/odepack/opkdemo1.f:

	NEQ, RTOL, and ATOL need to be arrays to work.

2004-08-14 18:11  rtoy

	* packages/odepack/opkdemo1.f:

	Initial version.

2004-08-14 18:10  rtoy

	* src/f2cl5.l:

	Forgot to create the symbol-macrolet for arrays in the common block,
	when using common-blocks-as-arrays.

2004-08-14 15:45  rtoy

	* src/f2cl2.l:

	Handle OR and AND expressions.  (Maybe.  This probably needs a lot
	more work.)

2004-08-14 15:44  rtoy

	* src/f2cl1.l:

	Add support for ASSIGN statement.

2004-08-14 06:20  rtoy

	* packages/odepack.system:

	Clean up compiler options and add some dependency information so
	things are compiled in the right order.

2004-08-14 06:17  rtoy

	* src/macros.l:

	Need a definition for MAKE-LABEL.

2004-08-14 06:15  rtoy

	* src/f2cl5.l:

	o GET_ARRAY_TYPE was not computing the array type in some situations.
	  (I hope this is the right fix.)
	o Was not counting the array lengths correctly.

2004-08-14 00:08  rtoy

	* packages/odepack/xsetun.f:

	Initial checkin for odepack sources.

2004-08-14 00:05  rtoy

	* packages/: odepack.system, odepack/adjlr.f, odepack/cdrv.f,
	  odepack/cntnzu.f, odepack/daigbt.f, odepack/dainvg.f,
	  odepack/dainvgs.f, odepack/datp.f, odepack/datv.f,
	  odepack/daxpy.f, odepack/dbnorm.f, odepack/dcfode.f,
	  odepack/dcopy.f, odepack/ddecbt.f, odepack/ddot.f,
	  odepack/dewset.f, odepack/dfnorm.f, odepack/dgbfa.f,
	  odepack/dgbsl.f, odepack/dgefa.f, odepack/dgesl.f,
	  odepack/dhefa.f, odepack/dhels.f, odepack/dheqr.f,
	  odepack/dhesl.f, odepack/dintdy.f, odepack/diprep.f,
	  odepack/diprepi.f, odepack/dlhin.f, odepack/dlsoda.f,
	  odepack/dlsodar.f, odepack/dlsode.f, odepack/dlsodes.f,
	  odepack/dlsodi.f, odepack/dlsodis.f, odepack/dlsodkr.f,
	  odepack/dlsodpk.f, odepack/dlsoibt.f, odepack/dmnorm.f,
	  odepack/dnrm2.f, odepack/dorthog.f, odepack/dpcg.f,
	  odepack/dpcgs.f, odepack/dpjibt.f, odepack/dpkset.f,
	  odepack/dprep.f, odepack/dprepi.f, odepack/dprepj.f,
	  odepack/dprepji.f, odepack/dprja.f, odepack/dprjis.f,
	  odepack/dprjs.f, odepack/drchek.f, odepack/droots.f,
	  odepack/dscal.f, odepack/dsetpk.f, odepack/dslsbt.f,
	  odepack/dsolbt.f, odepack/dsolpk.f, odepack/dsolss.f,
	  odepack/dsolsy.f, odepack/dspigmr.f, odepack/dspiom.f,
	  odepack/dsrcar.f, odepack/dsrckr.f, odepack/dsrcma.f,
	  odepack/dsrcms.f, odepack/dsrcom.f, odepack/dsrcpk.f,
	  odepack/dstoda.f, odepack/dstode.f, odepack/dstodi.f,
	  odepack/dstodpk.f, odepack/dstoka.f, odepack/dumach.f,
	  odepack/dumsum.f, odepack/dusol.f, odepack/dvnorm.f,
	  odepack/idamax.f, odepack/iumach.f, odepack/ixsav.f,
	  odepack/jgroup.f, odepack/md.f, odepack/mdi.f, odepack/mdm.f,
	  odepack/mdp.f, odepack/mdu.f, odepack/nnfc.f, odepack/nnsc.f,
	  odepack/nntc.f, odepack/nroc.f, odepack/nsfc.f, odepack/odrv.f,
	  odepack/sro.f, odepack/xerrwd.f, odepack/xsetf.f:

	Initial checkin for odepack sources.

2004-08-13 23:24  rtoy

	* src/NOTES:

	Describe what we're trying to do with common blocks as arrays.

2004-08-13 23:16  rtoy

	* src/: f2cl1.l, f2cl5.l:

	First pass at creating common blocks as arrays.  Intent is to allow
	odepack to be converted via f2cl.

	So a common block structure is created that creates as large an array
	as possible for consecutive elements of the same type in the common
	block.  A new array is created for each such section.  Then the
	elements of the common block are accessed either as either an
	individual element of the array or as a displaced array.

	This might have speed impacts, so the default is not to do this.  Use
	the keyword :common-as-array to control this feature.  Default is off,
	preserving old behavior.

2004-08-11 21:00  rtoy

	* src/f2cl1.l:

	Set the f2cl version to include the RCS Date.

2004-08-11 19:12  rtoy

	* src/NOTES:

	Update notes about x .le. y*z bug.

2004-08-11 18:51  rtoy

	* src/f2cl2.l:

	A possible fix for the parsing bug wherein x .le. y*z was parsed as (x
	.le. y) * z.

	We look for logical operations and rewrite the expression with
	parentheses around the left and right parts of the operation.  Thus x
	.le. y*z becomes (x) .le. (y*z), which will be parsed correctly by the
	rest of the routines.

2004-08-11 17:53  rtoy

	* src/f2cl6.l:

	This bit of Fortran code

	      COMMON /DLS001/ ROWNS(209),
	     1   CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND,
	     2   INIT, MXSTEP, MXHNIL, NHNIL, NSLAST, NYH, IOWNS(6),
	     3   ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L,
	     4   LYH, LEWT, LACOR, LSAVF, LWM, LIWM, METH, MITER,
	     5   MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU
	C
	      DATA  MORD(1),MORD(2)/12,5/, MXSTP0/500/, MXHNL0/10/
	      IF (ISTATE .LT. 1 .OR. ISTATE .GT. 3) GO TO 601
	      end

	causes an end-of-file error because RECURSIVE-P is T (on CMUCL).  I'm
	going to make RECURSIVE-P NIL here.  Don't know if that's right or
	not.

2004-07-08 19:48  kevinrosenberg

	* debian/changelog:

	new deb version

2003-12-30 22:59  sds

	* README:

	spelling

2003-11-23 15:10  rtoy

	* src/macros.l:

	FDO should not call function that are not in the F2CL-LIB package.
	Macros.l should be self-contained.

2003-11-18 20:33  rtoy

	* src/f2cl1.l:

	Push the function name onto the calls list, not a list of the function
	name.

2003-11-15 15:16  rtoy

	* src/f2cl5.l:

	When parsing READ, if the variable has type STRING, we need to use
	f2cl-set-string to make sure strings get the right length.

2003-11-15 14:54  rtoy

	* packages/hompack/innhp.dat:

	Initial revision.

2003-11-15 06:02  rtoy

	* src/f2cl5.l:

	Some simple fixups for READ when reading into arrays.  We need to
	identify the expression to generate the correct form for setting the
	variable to what was read.

	READ still needs lots of work.

2003-11-15 05:59  rtoy

	* packages/hompack.system:

	Add the files and dependencies for the POLSYS stuff that we
	accidentally left out.  (But files were already there.)

2003-11-14 23:22  rtoy

	* packages/: blas/.cvsignore, hompack/.cvsignore,
	  minpack/.cvsignore, quadpack/Fortran/.cvsignore,
	  toms/715/.cvsignore:

	Initial revision.

2003-11-14 23:18  rtoy

	* packages/: README, hompack/mainf.f, hompack/mainp.f,
	  hompack/mains.f:

	Initial revision.

2003-11-14 22:29  rtoy

	* packages/hompack/: r1upqf.f, upqrqf.f:

	F2cl doesn't support the kind of ENTRY point that is being used in
	UPQRQF.  Split that into a separate subroutine.  I hope I got that
	right.

2003-11-14 22:27  rtoy

	* packages/hompack/sintrp.f:

	Initial revision.

2003-11-14 20:52  rtoy

	* packages/hompack/rhojs.f:

	Uncomment the variable declarations so we can generate better function
	calls, without intervention.

2003-11-14 20:44  rtoy

	* packages/hompack/: stepds.f, steps.f:

	Initializers weren't double precision numbers as required, and Lisp
	complains.

2003-11-14 20:43  rtoy

	* packages/hompack/fjacs.f:

	Uncomment the variable declarations so we can generate better function
	calls, without intervention.

2003-11-14 20:08  rtoy

	* packages/: blas.system, hompack.system:

	Initial revision.

2003-11-14 20:05  rtoy

	* packages/hompack/: dcpose.f, divp.f, f.f, ffunp.f, fixpdf.f,
	  fixpds.f, fixpnf.f, fixpns.f, fixpqf.f, fixpqs.f, fjac.f,
	  fjacs.f, fode.f, fodeds.f, gfunp.f, gmfads.f, hfun1p.f, hfunp.f,
	  initp.f, mfacds.f, mulp.f, multds.f, otputp.f, pcgds.f, pcgns.f,
	  pcgqs.f, polsys.f, polyp.f, powp.f, qimuds.f, qrfaqf.f, qrslqf.f,
	  rho.f, rhoa.f, rhojac.f, rhojs.f, root.f, rootnf.f, rootns.f,
	  rootqf.f, rootqs.f, sclgnp.f, solvds.f, stepds.f, stepnf.f,
	  stepns.f, stepqf.f, stepqs.f, steps.f, strptp.f, tangnf.f,
	  tangns.f, tangqf.f, tangqs.f, upqrqf.f:

	Initial import of HOMPACK, direct from netlib.

2003-11-14 20:04  rtoy

	* packages/blas/: daxpy.f, dcopy.f, ddot.f, dnrm2.f, dscal.f,
	  idamax.f:

	Initial import of BLAS for HOMPACK.

2003-11-14 07:45  rtoy

	* src/f2cl1.l:

	Actually, if the declared arg type is an array, we always want to
	slice.  Otherwise, we just want the single element.

2003-11-14 07:32  rtoy

	* src/f2cl5.l:

	In INSERT-DECLARATIONS, we were computing var-type-list and var-decls
	incorrectly.  The were both too short when the arglist had external
	functions.

2003-11-14 05:52  rtoy

	* src/NOTES:

	Update notes.

2003-11-14 05:29  rtoy

	* src/f2cl1.l:

	Handle function calls to statement functions too so we can generate
	the correct args for them.  Do this by adding a hash table to hold
	info about statement functions.

		(*f2cl-statement-finfo*): New variable holding the hash-table for
		of function info for statement functions.
		(f2cl): Give better descriptions of some options in the docstring.
		(translate-and-write-subprog): Clear out the hash-table for the
		statement function info.
		(parse-arrayref-or-stmtfn): Save away function info when we find a
		statement function.
		(maybe-convert-array-ref-to-slice): If the function is in the
		arglist, we can't do anything special about it.  Otherwise, try to
		find the function in the global database or the statement-function
		database so we can generate the correct array references.

2003-11-14 03:55  rtoy

	* src/f2cl1.l:

		* src/f2cl1.l (maybe-convert-array-ref-to-slice): When looking up
		the function name to get the argument types, we need to be
		careful.  If the function is an EXTERNAL function (i.e., a
		parameter to the function we're compiling), it doesn't necessarily
		have the same types as a global function with the same name.

2003-11-13 23:37  rtoy

	* src/f2cl1.l:

	Oops.  We want subtypep, not typep!

2003-11-13 23:16  rtoy

	* src/: f2cl1.l, f2cl2.l:

	Try to be smarter about generating args to functions, which is an
	issue if the arg is an element of an array.  If we know the declared
	types of the function, try to generate the appropriate arg, meaning
	either a single element of the array or a slice of the array.

2003-11-13 22:07  rtoy

	* src/f2cl5.l:

	o Was not correctly handling a plain SAVE statement, which means save
	  all locals.  Build up the list from the declared and undeclared
	  variables.
	o Subprograms with multiple entry points weren't returning the right
	  number of values.  Fix that.

2003-11-13 22:06  rtoy

	* src/f2cl1.l:

	Was not correctly handling a plain SAVE statement, which means save
	all locals.  Put a special token in this case to indicate that.

2003-11-13 06:39  rtoy

	* src/f2cl5.l:

	Generate code to use the new macro WITH-MULTI-ARRAY-DATA.

2003-11-13 06:38  rtoy

	* src/f2cl1.l:

	Define a pretty-printer for WITH-MULTI-ARRAY-DATA.

2003-11-13 06:37  rtoy

	* src/f2cl0.l:

	Export WITH-MULTI-ARRAY-DATA.

2003-11-13 06:37  rtoy

	* src/macros.l:

	Add macro WITH-MULTI-ARRAY-DATA.  Basically like WITH-ARRAY-DATA, but
	takes a list of array info so we don't get deeply nested code when
	there are lots of arrays.

	Keep WITH-ARRAY-DATA around for backward compatibility.

2003-11-12 06:33  rtoy

	* src/macros.l:

	Macro to handle assigned gotos was wrong.  Fix it.

2003-11-12 06:32  rtoy

	* src/f2cl5.l:

	The test for matching arglist for ENTRY points was wrong.  Fix it.

2003-11-12 06:32  rtoy

	* src/f2cl1.l:

	Many changes to make assigned gotos work

	o Add *statement-labels* to hold a list of statement labels found in s
	  subprogram.  (Needed so we can branch to the correct label in
	  assigned goto statements.)
	o Use *statement-labels* in various places.
	o Unify the parsing of computed GOTOs.
	o Make assigned gotos work.
	o Add support for the ASSIGN statement (which was missing).

	Fixups for ENTRY points:
	o Fix up parsing of ENTRY points.  We weren't setting up
	  *entry-points* correctly, and did not handle the arglist correctly.
	o Parse entry points similarly to subroutine calls, using two new
	  functions:  ID-DEFINITION-ENTRY, PARSE-ENTRY-DEFINITION

2003-09-25 06:05  rtoy

	* packages/quadpack.system:

	Compute the necessary translation for the Fortran directory from the
	current translation for clocc instead of hard-wiring the path.

2003-09-25 05:43  rtoy

	* src/macros.l:

	Need to check for reserved names in the fdo macro.  (I think.)

2003-09-20 15:57  rtoy

	* f2cl.system:

	f2cl8 is a work in progress and only usable by CMUCL so far.

2003-09-20 15:56  rtoy

	* src/f2cl6.l:

	[ 807859 ] translate-pathname strangeness in f2cl6.l

	Use merge-pathnames instead of translate-pathnames to compute the name
	of the output file.

2003-07-13 20:58  rtoy

	* src/f2cl1.l:

	Be more careful in generate-call-to-routine when the routine is
	actually funcalling a routine.

2003-07-13 20:54  rtoy

	* src/f2cl5.l:

	Add mod to +allowed-lisp-names+.

2003-07-12 20:44  rtoy

	* src/f2cl6.l:

	Include directory and name when computing the name of the output file.

2003-07-12 06:27  rtoy

	* src/f2cl5.l:

	o Make +reserved-lisp-names+ be T, PI, and NIL.
	o Add +allowed-lisp-names+ to be a list of names which can be used as
	  is because the Fortran usage matches the Lisp usage.  This prevents
	  spurious variables with names like ABS$ from being created.
	o Use +allowed-lisp-names+ when checking for reserved lisp names.

2003-07-12 06:24  rtoy

	* src/f2cl1.l:

	o Add new keyword parameter to specify the package to be used for
	  compiling the code.  Defaults to COMMON-LISP-USER
	o When generating a call to a routine, we need to check for reserved
	  Lisp names and mangle it appropriately.  Use the new name as needed.
	o When parsing a do loop, we need to check reserved lisp names
	  for the loop variable.  (Because other places will have mangled the
	  name).

2003-04-07 08:25  kevinrosenberg

	* debian/control:

	Automatic commit for debian_version_1_0+cvs_2003_01_11

2003-04-07 08:20  kevinrosenberg

	* debian/: changelog, compat, control, rules:

	Automatic commit for debian_version_1_0+cvs_2003_01_11

2003-01-08 19:41  rtoy

	* src/: f2cl1.l, f2cl5.l:

	Reference symbols in the common-lisp package with "common-lisp:",
	instead of "lisp:".

2003-01-08 19:37  rtoy

	* src/f2cl5.l:

	Checking of reserved lisp names was rather weak.  Now check to see if
	the symbol is an external symbol in the common-lisp package.  If so,
	mangle the name.  (Append with $ instead of _.  Should I really do
	that?)

2003-01-08 19:19  rtoy

	* src/f2cl1.l:

	Was incorrectly converting things like

		character*8 s
		data s/'z'/

	to

	  (let ((s (make-array 8 :element-type 'base-char :initial-element #\space)))
	    (setf s "z"))

	It should really be

	  (let ((s (make-array 8 :element-type 'base-char :initial-element #\space)))
	    (replace s "z"))

	We really should do this when making the array, not afterwords.

	Bug noted by Christophe Rhodes.

2003-01-07 19:44  rtoy

	* src/macros.l:

	Add new implementations of aint.  Speeds up mpnorm by a factor of 5 on
	CMUCL/sparc!

2002-11-11 11:52  kevinrosenberg

	* debian/: README.Debian, changelog, control, copyright, f2cl.asd,
	  postinst, prerm, rules:

	Initial debian package

2002-09-13 19:50  rtoy

	* packages/minpack.system, packages/minpack/minpack.lisp,
	  packages/minpack/run-minpack-tests.lisp, src/f2cl0.l,
	  src/f2cl1.l, src/f2cl2.l, src/f2cl4.l, src/f2cl5.l, src/f2cl6.l,
	  src/f2cl7.l, src/macros.l:

	From Douglas Crosher:

	o Make this work with lower-case Lisps
	o Fix a few typos
	o Make a safer fortran reader.

2002-07-03 00:14  rtoy

	* packages/minpack.system:

	o Add component for run-minpack-tests
	o The tests are in the MINPACK package, not MINPACK-TESTS package.

2002-07-03 00:12  rtoy

	* packages/minpack/run-minpack-tests.lisp:

	Simple script to run the tests.

2002-07-02 23:33  rtoy

	* src/f2cl1.l:

	Always start output on a newline when printing the name of the source
	and output files.

2002-07-02 23:32  rtoy

	* packages/minpack.system:

	Add dependency to minpack.lisp to define the package.

2002-07-02 23:29  rtoy

	* packages/minpack/lmdif-input.dat:

	Input file for test cases.

2002-07-02 23:28  rtoy

	* packages/minpack/minpack.lisp:

	Define MINPACK package.

2002-07-02 23:25  rtoy

	* packages/minpack/tst-lmder.f:

	Correct typo in prompt.  The order is n,m and not m,n.

2002-07-02 20:42  rtoy

	* packages/minpack/tst-lmdif.f:

	Read the dimensions in the original n,m order instead of m,n.

2002-07-02 19:49  rtoy

	* packages/minpack/minpack.doc:

	Minpack documentation from netlib.org.

2002-07-02 19:47  rtoy

	* packages/minpack/Makefile:

	Initial revision.

2002-07-02 14:39  rtoy

	* packages/minpack/tst-lmdif.f:

	o Add PROGRAM statement
	o Print out some hints before asking what test to run.

2002-07-02 14:35  rtoy

	* packages/minpack/tst-lmder.f:

	o Add PROGRAM statement
	o Rename subroutine FCN to FCNJ
	o Print out some hints before asking what test to run.

2002-07-02 14:31  rtoy

	* packages/minpack.system:

	o Put the code in the MINPACK package.
	o Add defsystem for the tests.

2002-06-30 15:09  rtoy

	* src/f2cl1.l:

	Let f2cl also keep track of a list of functions that a function
	calls.  (Useful for generating dependencies.)

2002-06-30 15:08  rtoy

	* src/macros.l:

	Add some declarations to AINT so that CMUCL can completely inline the
	call to ftruncate.

2002-05-07 05:56  rtoy

	* src/f2cl1.l:

	o In TRANSLATE_LINT, change how output when *verbose* is set so we can
	  see better what f2cl is really reading.  (Was hard to differentiate
	  between strings and symbols, before, for example.)
	o In PARSE_UPPER_AND_LOWER_BOUNDS, we were returning T for unknown
	  array bounds.  This caused an extraneous Fortran variable T to be
	  introduced.  Return '* instead so we don't get the extraneous
	  variable anymore.

2002-05-07 05:26  rtoy

	* src/f2cl1.l:

	o With the function info changes, we were incorrectly saying a
	  variable was set when it might not have been.  Fix it.
	o Clean up/add a few comments

2002-05-07 05:06  rtoy

	* src/f2cl1.l:

	o Include a date on the version string.
	o Don't print out the date in the generated file.

2002-05-06 20:05  rtoy

	* src/f2cl1.l:

	o We need to have d1mach and i1mach as known functions, so initialize
	  and clear the hash table appropriately.
	o When generating a call to a routine, print a warning if we don't
	  know the function.  (User should check to see if the call is
	  correct.)
	o Remove an extraneous debugging print statement.

2002-05-06 01:41  rtoy

	* src/macros.l:

	Typo: extra paren.

2002-05-06 01:38  rtoy

	* src/macros.l:

	The int-sub macro didn't handle things like (- 3 m m) correctly.  It
	was returning (- 3 (- m m)) instead of (- (- 3 m) m)!

2002-05-06 01:37  rtoy

	* src/f2cl1.l:

	Was not generating calls to routines correctly when a parameter is
	given multiple times in the arg list.  Don't check for duplicates.

	(I'm a little fuzzy on the rules of Fortran on aliasing of parameters
	of routines.  I think you're not allowed, so having an actual
	parameter be an input and output is not allowed.  This almost always
	works, however.)

2002-05-06 01:34  rtoy

	* src/NOTES:

	Notes about generating FFI.

2002-05-05 23:10  rtoy

	* src/f2cl5.l:

	Comment out extraneous print.

2002-05-05 23:09  rtoy

	* src/f2cl1.l:

	f2cl-compile needs to bind *READ-DEFAULT-FLOAT-FORMAT* before
	compiling the Lisp file so that numbers are read in the specified
	format.

2002-05-04 22:35  rtoy

	* f2cl.system:

	Added f2cl8.

2002-05-04 22:34  rtoy

	* src/f2cl8.l:

	Initial revision.

2002-05-04 22:33  rtoy

	* src/f2cl5.l:

	When we construct the declarations for the formal args of the
	function, we save the arg types in away as well for later use.

2002-05-04 22:32  rtoy

	* src/f2cl1.l:

	If the entry for the function already exists, we don't want to smash
	it.  Just update the return-values for the entry.

2002-05-04 19:00  rtoy

	* src/NOTES:

	Describe the hash table of function calls.

2002-05-04 19:00  rtoy

	* src/f2cl1.l:

	We now keep a hash table of all functions and their return values and
	use that, if available, for generating calls to that function.

	This is experimental, but seems to work so far, and generates better code.

2002-05-03 19:48  rtoy

	* src/macros.l:

	GCL doesn't have least-positive-normalized-{single/double}-float, so
	use just least-positive-{single/double}-float.

2002-05-03 19:44  rtoy

	* src/macros.l:

	Replace row-major-aref with just aref because we don't need it and
	because gcl doesn't have it.

2002-05-03 19:43  rtoy

	* src/f2cl5.l:

	If the array type is simple-array, don't do the with-array-data stuff
	because we don't need it.

2002-05-03 19:42  rtoy

	* src/f2cl1.l:

	Allow other keys for f2cl and f2cl-compile.

2002-04-19 20:40  rtoy

	* src/f2cl5.l:

	o Forgot to add FREAL as one of the intrinsics functions we skip over
	  when checking for new variables.
	o GET-FUN-ARG-TYPE:  was incorrectly handling MULTIPLE-VALUE-BIND
	  forms and erroneously returning INTEGER as the type.  We really need
	  to look at the function that is being called to get the type instead
	  of just looking at MULTIPLE-VALUE-BIND as function name!

2002-04-18 15:05  rtoy

	* src/f2cl1.l:

	Added :FLOAT-FORMAT option to F2CL and F2CL-COMPILE so that the user
	can specify how to print out numbers in case the user is going to
	read/compile the file using some other setting for
	*READ-DEFAULT-FLOAT-FORMAT*.  (This is a simple hack to get around the
	problem of not having a portable way to specify all numbers should be
	printed with an exponent marker.)

2002-04-18 15:03  rtoy

	* src/f2cl0.l:

	Forgot to export I1MACH.

2002-03-23 00:00  rtoy

	* src/f2cl1.l:

	When generating the call to a routine, we don't have to have a setter
	if the same arg is used multiple times in the arglist.  This is
	undefined Fortran behavior.

2002-03-20 16:50  rtoy

	* src/f2cl5.l:

	Fix typo in getting the argument type in optimize-integer-arithmetic.

2002-03-20 00:45  rtoy

	* src/f2cl5.l:

	When calling a function, it's sometimes (fun args) or (funcall fun
	args), so we need to check before we look up the type of the function
	call.

2002-03-20 00:28  rtoy

	* packages/quadpack.system:

	Add a defsystem to compile the Fortran codes directly via
	f2cl-compile.  Leave the old defsystem around, but with a new name.

2002-03-20 00:12  rtoy

	* packages/quadpack/quadpack-tests.lisp:

	It's f2cl-lib:integer4, not just plain integer4.

2002-03-20 00:11  rtoy

	* src/f2cl1.l:

	Be conservative: For F2CL-COMPILE, change the default :array-type to
	be :array instead of :simple-array.

2002-03-20 00:08  rtoy

	* src/f2cl5.l:

	Oops.  The array type should default to whatever *array-type* is, not
	simple-array!

2002-03-19 18:40  rtoy

	* doc/Change-notes.txt:

	Update changes.

2002-03-19 18:28  rtoy

	* src/f2cl5.l:

	o Declare some vars as ignored when creating the entry point
	  functions.
	o Add a check to make sure the entry point functions have exactly the
	  same names for the parameters and number of parameters.  That's all
	  we support right now.
	o Remove a debugging print statement.

2002-03-19 07:04  rtoy

	* src/NOTES:

	Describe how we handle ENTRY statements.

2002-03-19 07:03  rtoy

	* src/: f2cl1.l, f2cl5.l:

	First pass at adding support for ENTRY statements (multiple entry
	points into a routine).  See NOTES for description of technique.

2002-03-19 05:11  rtoy

	* src/f2cl5.l:

	GET-UPGRADED-FUN-ARG-TYPE wasn't correctly returning the type of a
	function call.  Didn't matter before, but with the recent coercion
	changes, it does.

2002-03-19 05:10  rtoy

	* src/f2cl1.l:

	Comment out some debugging print statements.

2002-03-19 03:23  rtoy

	* src/: f2cl5.l, macros.l:

	According to the rules of Fortran, the initializers in a DATA
	statement are supposed to be converted to match the type of the
	variable that is being initialized.  Make it so by passing the
	variable type to the macro DATA-IMPLIED-DO so that the conversion can
	be done.

2002-03-19 02:45  rtoy

	* src/f2cl1.l:

	Oops.  Remove the debugging print statements.

2002-03-19 00:46  rtoy

	* src/f2cl5.l:

	Was not correctly handling implicit variable declarations.  We just
	want to compare the first character of the variable agains the given
	ranges, not the whole variable name!

2002-03-19 00:34  rtoy

	* src/: f2cl1.l, f2cl5.l, macros.l:

	Was not correctly handling some implied do loops containing multiple
	variables in the loop in data statements.  Fix that and clean up some
	of the processing.  (Should probably do this kind of work in the f2cl
	compiler instead of at runtime, but it's only done once at runtime, so
	it's not a big deal.)

2002-03-16 16:21  rtoy

	* src/NOTES:

	Update notes.

2002-03-16 16:21  rtoy

	* src/f2cl1.l:

	If an argument to a subprogram is not assigned to, return NIL as the
	value instead of the argument.  (See NOTES file.)

2002-03-16 15:27  rtoy

	* src/f2cl5.l:

	Remove some print statements that were left in.

2002-03-15 05:04  rtoy

	* src/f2cl5.l:

	When creating the symbol macros for accessing common block vars, we
	can get some speed gain by treating arrays specially so that we don't
	have to access the array through the structure accessor for every
	array access.  For an array, bind a new var to the array, and have the
	symbol macro reference the new var.

2002-03-13 05:01  rtoy

	* src/f2cl5.l:

	o Use INT instead of TRUNCATE when coercing parameter assignments.
	o Update OPTIMIZE-INTEGER-ARITHMETIC to handle min/max because CMUCL
	  isn't always smart enough to figure it out by itself.
	o Similarly, if we find a bare TRUNCATE, add an assertion about the
	  return value of TRUNCATE.

2002-03-13 04:58  rtoy

	* src/f2cl1.l:

	Use INT instead of TRUNCATE.

2002-03-11 18:57  rtoy

	* src/f2cl6.l:

	Compute the output temp file name better.  (Was failing for logical
	pathnames.)

2002-03-11 17:45  rtoy

	* src/f2cl5.l:

	Try to optimize integer arithmetic. Fortran says integer overflow is
	undefined, so we try to wrap all integer arithmetic with (THE INTEGER4
	(op operands...)).  This can help the compiler generate better code.

2002-03-11 17:44  rtoy

	* src/macros.l:

	o Remove an extra paren.
	o Indent FIND-ARRAY-DATA better.
	o Declare the iteration count to be of type INTEGER4.
	o Added macros INT-ADD, INT-SUB, INT-MUL to tell the compiler that the
	  integer operation can't overflow.  (First try.)
	o Tell the compiler that the result of truncate is an INTEGER4 in INT.

2002-03-11 17:40  rtoy

	* src/f2cl0.l:

	Export INT-ADD, INT-SUB, INT-MUL.

2002-03-10 17:19  rtoy

	* src/f2cl5.l:

	Assignments in PARAMETER statements need to have them coerced to the
	right type.

2002-03-10 16:45  rtoy

	* src/f2cl1.l:

	Oops.  A call to HANDLE-EXTENDED-DO was inadvertently left in.

2002-03-07 20:00  rtoy

	* src/f2cl1.l:

	o Merge the extended DO handling with the
	  write-statement-with-format-string handling into one place.
	  Reorderd the code a bit too.
	o Instead of using truncate to convert a float to an int for
	  assignement, use the Fortran INT.
	o When coercing a integer type to a float for assignment, declare the
	  int to be an INTEGER4 to help the coercion use a single
	  instruction.

2002-03-07 06:23  rtoy

	* src/NOTES:

	Update.

2002-03-07 06:19  rtoy

	* src/f2cl1.l:

	o Comment out some debugging print statements.
	o Wasn't rewriting the write statement correctly.  This works much
	  better.

2002-03-07 05:57  rtoy

	* src/f2cl1.l:

	First cut at handling write(*, <fmt-string>).  Do this be converting
	to write(*,<number>) with a new format statement containing the format
	string.

2002-03-07 00:07  rtoy

	* src/macros.l:

	o Make INT return an integer4 type, not integer.
	o log10 was thinking it could generate complex result, but that's not
	  true.  Declare the arg correctly so the compiler knows it can't.

2002-03-07 00:04  rtoy

	* src/f2cl5.l:

	Actually handle Iw.m as Fortran would.

2002-03-06 04:21  rtoy

	* src/macros.l:

	o Speed up FIND-ARRAY-DATA a little by declaring the offset to be a
	  fixnum, which it has to be since it's an index to an array.
	o Remove the truncate/ftruncate-towards-zero functions.
	o For INT, AINT, and friends, TRUNCATE and FTRUNCATE are the right
	  functions we want to use.  (Stupid me!)
	o Update/correct some random comments.

2002-03-06 04:17  rtoy

	* src/f2cl5.l:

	With the block data name changes in f2cl1.l, we need to recognize here
	the names that are generated there in f2cl1.

2002-03-06 04:16  rtoy

	* src/f2cl1.l:

	Oops.  A block data subprogram looks like "blockdata <name>" or "block
	data <name>" where <name> is optional.

2002-03-06 03:49  rtoy

	* src/f2cl1.l:

	o Correct some comments.
	o BLOCKDATA subprograms can have names, so make that part of the
	  translated blockdata subprogram name.

2002-03-01 03:41  rtoy

	* src/f2cl1.l:

	Add some pretty-printers so the resulting code looks a bit neater.

2002-02-17 17:04  rtoy

	* val/tst-slice.f:

	Add an extra level of routines to test slicing better.

2002-02-17 17:03  rtoy

	* src/NOTES:

	Describe the new array-slicing method.

2002-02-17 16:58  rtoy

	* src/f2cl5.l:

	o Implement the new array-slicing method.  (Still needs work.)
	o Try to declare all arrays as simple-array, except for arrays that
	  are parameters to a function
	o Declare some loop variables apropriately for implied do loops in
	  write statements.
	o We don't try to declare the functions used by a routine anymore.
	  (Should this be optional?)

2002-02-17 16:55  rtoy

	* src/macros.l:

	o For all array accessors, wrap the offset calculations with (the
	  fixnum ...) since they have to be anyway.  Speeds up calculations
	  quite a bit.
	o FREF takes an additional optional OFFSET arg to specify an offset
	  for the new array slicing method.
	o Added WITH-ARRAY-DATA and FIND-ARRAY-DATA to support the new
	  array-slicing method.
	o For FDO, add (the integer4 ...) for loop index calculations.
	o Add some more assertions for ISIGN and LOG10 to help the compiler
	  generate better code.

2002-02-17 16:51  rtoy

	* src/f2cl1.l:

	With the new array-slicing method, the default array type can be
	simple-array again.

2002-02-17 16:50  rtoy

	* src/f2cl0.l:

	Export with-array-data.

2002-02-14 15:36  rtoy

	* src/f2cl5.l:

	Add sinh, cosh, tanh to the list of generics we need to handle.
	Expand on the comments.

2002-02-11 19:33  rtoy

	* src/NOTES:

	Add some note about f2cl-converted MPFUN now working, somewhat slowly,
	but correctly and how to fix the slowness, maybe.

2002-02-10 04:43  rtoy

	* src/macros.l:

	Partial support for WRITE statements writing to a string instead of
	logical unit.

2002-02-10 04:42  rtoy

	* src/f2cl1.l:

	Since :array-slicing defaults to T, make :array-type default to :array
	instead of :simple-array.

2002-02-10 04:41  rtoy

	* src/f2cl0.l:

	Export ARRAY-STRINGS type.

2002-02-09 17:10  rtoy

	* src/f2cl1.l:

	o Add new var *DECLARE-COMMON-BLOCKS*
	o F2CL and F2CL-COMPILE take a new arg :declare-common, defaulting to
	  NIL, which allows the user to specify if the structures for the
	  common blocks in this file should be declared in this file.

2002-02-09 17:08  rtoy

	* src/f2cl5.l:

	o GET-FUN-ARG-TYPE:  We forgot to handle the AINT, SIGN, DIM, MAX, and
	  MIN intrinsics.
	o INSERT-DECLARATIONS:
	  o Rename special-proclamation to common-blocks because we don't have
	    special proclamations anymore.
	  o The declarations for common blocks are inserted only if
	    *DECLARE-COMMON-BLOCKS* is non-NIL.
	o GET-IMPLICIT-TYPE:  We don't care if the arg is a formal arg or
	  not.
	o MAKE-COMMON-BLOCK-VARS:  If *RELAXED-ARRAY-DECLS* is non-NIL, the
	  dimensions of the array in the common block is unspecified, even if
	  we already know it.  (Useful for changing the sizes of the arrays in
	  common blocks at run time.  Some Fortran code uses this feature.)

2002-02-09 16:59  rtoy

	* src/macros.l:

	o Add more and better comments
	o AINT was broken because it should accept any range of floats.
	o DIM and friends computed the wrong thing!
	o Change DPROD to convert to doubles first.
	o Some cleanup of MAX and MIN

2002-02-09 00:38  rtoy

	* src/macros.l:

	Use ARRAY-TOTAL-SIZE to compute how many elements are in the slice
	instead of the f2cl declared/derived bounds so that we can dynamically
	change the size of the array.  Useful for an array in a common block.

2002-02-09 00:32  rtoy

	* src/f2cl5.l:

	The last change to support block data was majorly broken.  Right idea,
	wrong implementation.  Initializers and stuff need to be inside the
	function otherwise nothing is really initialized as expected.  This
	should work better.

2002-02-09 00:28  rtoy

	* src/f2cl1.l:

	Off-by-one error in initializing an array with FILL.  We didn't fill
	the last element!

2002-02-08 07:04  rtoy

	* src/f2cl5.l:

	o We were generating incorrect code for symbol-macrolets for
	  initializers.  Fix it and clean it up.  Now only generate it either
	  for initialization or the body but not both since you can only
	  initialize common blocks in a block data subprogram.
	o Fix a bug wherein a variable in a parameter statement that was also
	  declared was getting the wrong type and also getting declared as a
	  local var.  Happened because we were checking the other var against
	  the wrong list (was *key-params* but should have been key-params).

2002-02-08 05:28  rtoy

	* src/NOTES:

	Update notes.

2002-02-08 05:27  rtoy

	* src/f2cl5.l:

	To support BLOCK DATA subprograms, we need to have the data
	initialization part of the code wrapped by symbol-macrolets.  Make it
	so.  Move the common code to its own routine.

2002-02-08 05:24  rtoy

	* src/f2cl1.l:

	Add support for BLOCK DATA subprograms.

2002-02-08 04:35  rtoy

	* src/f2cl1.l:

	We need to also fix up the names for any initialization stuff, so add
	new function FIXUP-F2CL-LIB to do it.

2002-02-08 04:32  rtoy

	* src/f2cl6.l:

	Oops.  Can't use #'char-equal because nxt-char might not be a char.

2002-02-08 00:27  rtoy

	* src/f2cl6.l:

	Some more number parsing bugs in PARSE-NUMBER.
	o d and e are valid exponent indicators and we missed them sometimes.
	o Add a few more comments
	o Make it easier to debug what parse-number would return as the
	  number.

2002-02-08 00:21  rtoy

	* src/f2cl5.l:

	MAKE-DECLARATION
	o For some reason when we were checking for implicitly declared
	  variables, we checked to see if the variable was a formal arg or
	  not.  Formal args can be implicitly declared too, so the check is
	  removed.  (Why where we checking before?)
	o Clean up some comments.

	SYM-IS-NUMBER-P
	o Add some comments
	o We were incorrectly saying things like 1D%3 were not numbers, but
	  this is wrong.  It is a number.  Solves the occasional problem where
	  we got weird things like unused variables named |1D%3|.  (Off-by-one
	  bug.)

2002-02-07 23:16  rtoy

	* src/f2cl5.l:

	If an array was declared but actually dimensioned in a common block
	like

		double precison c
		common /foo/ c(42)

	VBLE-IS-ARRAY-P didn't think it was an array.  Fix it.

2002-02-07 23:12  rtoy

	* src/f2cl6.l:

	Oops.  Remove that debugging statement.

2002-02-07 21:35  rtoy

	* src/f2cl6.l:

	Choose a better name than "prep.tmp" in whatever directory we are in
	for the temporary preprocessed file.  Make it go into the same
	directory as the Fortran file, but with the extension "p".

2002-02-07 21:14  rtoy

	* src/f2cl6.l:

	f2cl was incorrectly parsing

		character*10 dig

	as

		character * 10d ig

	because we weren't handling the case where the exponent character
	wasn't really an exponent character.

2002-02-07 05:00  rtoy

	* val/formattest.for:

	o Forgot to initialize iunit with the desired unit numbers.
	o Have the main program call this new routine.

2002-02-07 04:58  rtoy

	* src/f2cl5.l:

	o The previous change messed up the parsing of the format number of a
	  write statement.  Fix it.
	o The previous change also messed up the unit number for
	  PARSE_FORMAT_DEST. Fix it.
	o Add a parser for Fortran's A format descriptor.

2002-02-07 04:23  rtoy

	* src/macros.l:

	Add functions to initialize F2CL's Fortran I/O and to close all of
	F2CL's open units.

2002-02-04 04:24  rtoy

	* val/formattest.for:

	Add an additional test case where the unit number for a write
	statement is an expression.

2002-02-04 04:23  rtoy

	* src/macros.l:

	o Make *lun-hash* a defparameter instead of a defvar.
	o Fix up i1mach so that the unit numbers match *lun-hash*.

2002-02-04 04:22  rtoy

	* src/f2cl5.l:

	Handle the case where the unit number for a write statement can be an
	arbitrary expression.

2002-01-13 19:18  rtoy

	* doc/f2cldoc.latex:

	Make it documentclass (for LaTeX2e) and add section numbers.

2002-01-13 19:18  rtoy

	* doc/Change-notes.txt:

	Initial revision.

2002-01-13 17:57  rtoy

	* src/f2cl5.l:

	When looking up variables in the declared variables list or the
	subprog arglist, we still need to handle them via Fortran's implicit
	typing rules.

2002-01-13 17:30  rtoy

	* README:

	Update the notes.

2002-01-13 17:29  rtoy

	* packages/toms715.system:

	Some of the dependencies were wrong.

2002-01-13 17:29  rtoy

	* src/NOTES:

	Add note about the these changes to the package layout.

2002-01-13 17:29  rtoy

	* src/macros.l:

	o This file is in the f2cl-lib package now
	o Deleted some unused code.
	o Moved *INTRINSIC-FUNCTION-NAMES* to f2cl1.l

2002-01-13 17:27  rtoy

	* src/f2cl1.l:

	o Move the intrinsic function names from macros.l to here.  Include a
	  copy of the deftypes in macros.l here as well.  (Be sure to keep
	  them in sync!  I wish I knew a better way....)
	o Do not print out (use-package :f2cl) in the output file anymore.
	o In the generated code, we know look through the code and any symbol
	  that is string-= to a exported symbol in f2cl-lib is replaced by the
	  corresponding symbol from f2cl-lib.  That we the generated code can
	  reference the f2cl-lib without clashing with whatever other packages
	  the code might be used in.

2002-01-13 17:24  rtoy

	* src/f2cl0.l:

	All of the exported symbols in macros.l have been moved from the F2CL
	package to the F2CL-LIB package.

2002-01-09 16:31  rtoy

	* src/f2cl5.l:

	o In GET-FUN-ARG-TYPE, we weren't correctly handling the case of unary
	  + and -.
	o When looking up the type of a variable, we need to check for the
	  variable in *subprog-arglist* as well as *declared_vbles*!

	Thanks to Mike Koerber for sending sample code where this fails.

2002-01-08 21:53  rtoy

	* src/f2cl1.l:

	PARSE-PARAMETER was incorrectly parsing parameter statements like
	parameter (k2prim = K2 - K1*MW/MD) because it never expected the rhs
	to be an expression.

2002-01-08 05:13  rtoy

	* packages/minpack/tst-hybrd.f:

	Initial revision.

2002-01-08 05:03  rtoy

	* packages/minpack.system:

	Fix some typos and replace a file that we deleted.

2002-01-08 04:29  rtoy

	* packages/minpack.system:

	o Correct and change the compiler options.  We need array-slicing.
	o Add some more routines.

2002-01-08 04:24  rtoy

	* src/f2cl5.l:

	o Correct the previous change about looking up the type of array
	  references.  If we have an fref, it can't be an array slice because
	  we would have already sliced it before we get here.
	o Try to pretty up the declarations for other functions by merging
	  them into just one declaration.
	o Group the declaration statements for variables and other functions
	  into just a single declaration.

2002-01-07 21:55  rtoy

	* src/f2cl5.l:

	In GET-FUN-ARG-TYPE, we were always returning array types for FREF.  This
	is true if array-slicing is enabled.

2002-01-07 19:16  rtoy

	* src/f2cl1.l:

	o Change the :array-type parameter to take a keyword instead of a
	  symbol.
	o Print a warning if :array-type is specified and inconsistent with
	  :array-slicing option.  :array-slicing takes precedence.
	o If possible convert a fortran_comment into a quoted string.  (Makes
	  it easier to read the embedded comment.)
	o Print the options in lower case.

2002-01-07 19:13  rtoy

	* packages/minpack.system:

	Set better compiler options for building minpack.

2002-01-07 04:10  rtoy

	* packages/minpack/examples.lisp:

	Initial revision.

2002-01-07 04:09  rtoy

	* src/f2cl1.l:

	Print out a warning if a variable is declared that has the same name
	as a Fortran intrinsic.  Not sure what the spec says, but as long as
	it's a variable and not a redeclaration of the function, then I think
	it's ok.  If not, the warning tells you something might not be right.

2002-01-07 00:28  rtoy

	* src/: f2cl1.l, f2cl2.l:

	Missed a few renamings of *intrinsic_function_names* and
	*external_function_names*.

2002-01-07 00:11  rtoy

	* src/macros.l:

	o Rename *intrinsic_function_names* to use dashes.
	o Comment out some unused functions and macros.

2002-01-07 00:10  rtoy

	* src/: f2cl1.l, f2cl2.l, f2cl5.l:

	Rename *intrinsic_function_names*, *external_function_names* and
	*subprog_stmt_fns* to use dashes.

2002-01-05 20:01  rtoy

	* src/f2cl1.l:

	Don't print out the copyright messages when running f2cl.

2002-01-05 19:52  rtoy

	* src/f2cl0.l:

	Add in-package.

2002-01-05 19:33  rtoy

	* Makefile:

	Initial revision.

2002-01-05 19:30  rtoy

	* src/f2cl1.l:

	o Clisp's pretty-printer seems to work well enough now, so use it.
	o Use with-standard-io-syntax in SPECIAL-PRINT when printing out the
	  code (with a few minor changes).

2002-01-05 19:28  rtoy

	* src/f2cl6.l:

	Was still erroneously doing an unread-char.  (Caught by Clisp.)
	Works with Clisp and CMUCL now, and probably others.

2001-09-11 16:29  rtoy

	* src/f2cl1.l:

	Try to do a better job of figuring out the extension for the output
	file.

2001-09-10 18:37  rtoy

	* src/f2cl6.l:

	Oops.  Forgot to strip out the extra quote when we got quoted quotes
	in format strings.

2001-09-10 18:21  rtoy

	* src/f2cl6.l:

	Handle Fortran-style strings better by handling quoted quotes.  (In
	Fortran 'It''s time' is the string "It's time".)

2001-09-09 23:05  rtoy

	* src/f2cl6.l:

	Undo rev 1.23.  This one should work better.

2001-09-09 06:39  rtoy

	* src/NOTES:

	Update notes.

2001-09-09 06:34  rtoy

	* src/f2cl6.l:

	An attempt at handling Fortran Hollerith strings in FORMAT
	statements.  During preprocessing, look for a FORMAT statement and
	replace any Hollerith strings with real quoted strings.  (Can't do
	this for Hollerith in code because we don't have a real Fortran
	parser.)

	(FIND-QUOTE needs work to get Fortran string quoting correct.)

2001-09-08 23:41  rtoy

	* src/f2cl6.l:

	parse-number was mangling

		y = 1.5d0 - exp(-x)*top

	into the invalid

		y = 1.5d0 - e xp(-x)*top

	Fix this.

2001-06-04 19:20  rtoy

	* src/f2cl1.l:

	CONVERT-DATA-TYPE was incorrectly returning T instead of '(LOGICAL)
	for LOGICAL Fortran types.

2001-06-04 19:16  rtoy

	* src/f2cl5.l:

	Print a warning if there is no implicit type given and the variable
	was not declared.  This is invalid Fortran anyway.

2001-06-04 19:14  rtoy

	* src/f2cl1.l:

	Handle IMPLICIT NONE by putting ":NONE (A-Z)" as the type for
	*implicit_vble_decls*.

2001-06-04 16:31  rtoy

	* src/f2cl1.l:

	Recognize IMPLICIT NONE, but the semantics are NOT currently
	implemented:  undeclared variables will still be declared with default
	implicit rules even when implicit none is given.  This is probably ok,
	because this would be invalid Fortran anyway, and f2cl is only
	expected to process valid Fortran.

2001-06-04 16:06  rtoy

	* src/f2cl6.l:

	Add *comment-line-characters* to hold a list of valid comment line
	characters.

2001-06-03 22:51  rtoy

	* src/NOTES:

	Update.

2001-06-03 22:49  rtoy

	* src/f2cl1.l:

	o Removed an old unused version of TRANSLATE-AND-WRITE-SUBPROG.
	o Gratuitously re-indented PARSE-DO-LOOP.
	o Key change is adding code to handle extended DO loops, i.e., DO
	  loops that don't have statement numbers and are ended with an ENDDO
	  statement.

2001-06-03 22:46  rtoy

	* src/f2cl5.l:

	Changes to FIX-DO:
	o Add a test and code to keep FIX-DO from looping forever searching
	  for a non-existent DO label.  We cause an error now if this happens.
	o Gratuitously re-indented code.

2001-06-01 22:08  liam

	* src/f2cl1.l:

	Remove conditionalization #+cmu on concat.  Removed extra parenthesis.

2001-04-30 17:38  rtoy

	* src/macros.l:

	Add a version of I1MACH.

2001-04-30 17:37  rtoy

	* src/f2cl1.l:

	Add in-package statement, just like the comments say instead of trying
	to compile everything in the given package.

2001-04-26 19:49  rtoy

	* src/f2cl0.l:

	Export new functions D1MACH and R1MACH

2001-04-26 19:49  rtoy

	* src/macros.l:

	o SIGN and DIM are Fortran generic instrinsics.  Make it so.
	o Added D1MACH and R1MACH because they're very common in Fortran
	  libraries.

2001-02-26 16:38  rtoy

	* src/: f2cl0.l, f2cl1.l, macros.l:

	Move *check-array-bounds* from f2cl1.l to macros.l since the generated
	code refers to it.  Export this variable too.

2000-09-03 04:33  rtoy

	* src/f2cl5.l:

	FORTRAN-CONTAGION returned (complex double-float) and (complex
	single-float) which confuses f2cl.  Return complex16 and complex8
	instead, respectively.

2000-09-01 18:33  rtoy

	* src/f2cl1.l:

	MAYBE-CONVERT-ARRAY-REF-TO-SLICE: the expression isn't always a list!
	Check for that.  Fix a typo too.

2000-09-01 18:31  rtoy

	* packages/quadpack/quadpack-tests.lisp:

	Add DO-TESTS to run all tests.

2000-09-01 16:07  rtoy

	* src/f2cl6.l:

	In PARSE-NUMBER, we want to unread CHAR, but, according to the CLHS
	(and Clisp checks for this), unread-char must push back the last
	character that was read.  Because of SKIP-SPACES above, this CHAR is
	not necessarily the last character read anymore.  We have to modify
	the stream directly now.

2000-09-01 16:05  rtoy

	* src/f2cl2.l:

	o ID-FACTOR: we were not careful enough about array slicing in
	  function calls.  We should only apply array slicing if the argument
	  is an array ref.  Any arithmetic on the arg should disable
	  array-slicing.

2000-09-01 15:54  rtoy

	* src/f2cl1.l:

	o F2CL-COMPILE:  not all COMPILE-FILE's have the :ERROR-FILE option.
	o Added MAYBE-CONVERT-ARRAY-REF-TO-SLICE to convert array refs to
	  slices if appropriate.
	o PARSE-SUBROUTINE-CALL:  we were not careful enough about array
	  slicing.  We should only apply array slicing if the argument is an
	  array ref.  Any arithmetic should disable array-slicing.

2000-09-01 15:51  rtoy

	* src/f2cl0.l:

	AMAX1 and DIM were repeated.

2000-08-30 19:02  rtoy

	* packages/minpack.system:

	Add some more of the MINPACK files.

2000-08-30 19:00  rtoy

	* src/macros.l:

	o In EXECUTE-FORMAT, handle the case where the group is supposed to be
	  repeated "forever" (as indicated by a repetition factor of T).
	o Remove some more unused code.

2000-08-30 18:56  rtoy

	* src/f2cl5.l:

	In PARSE-FORMAT1, if there's no repetition factor for a group, then
	the group is supposed to be repeated forever until all the data has
	been printed.  (I think)

2000-08-30 18:54  rtoy

	* src/f2cl1.l:

	In F2CL-COMPILE, make :output-file default to T.  CMUCL won't produce
	an output if it's NIL.

2000-08-29 18:53  rtoy

	* src/NOTES:

	[no log message]

2000-08-29 18:10  rtoy

	* packages/: minpack.system, minpack/chkder.f, minpack/dogleg.f,
	  minpack/dpmpar.f, minpack/enorm.f, minpack/fdjac1.f,
	  minpack/fdjac2.f, minpack/hybrd.f, minpack/hybrd1.f,
	  minpack/hybrj.f, minpack/hybrj1.f, minpack/lmder.f,
	  minpack/lmder1.f, minpack/lmdif.f, minpack/lmdif1.f,
	  minpack/lmpar.f, minpack/lmstr.f, minpack/lmstr1.f,
	  minpack/minpack.txt, minpack/qform.f, minpack/qrfac.f,
	  minpack/qrsolv.f, minpack/r1mpyq.f, minpack/r1updt.f,
	  minpack/readme, minpack/rwupdt.f, minpack/tst-lmder.f,
	  minpack/tst-lmdif.f:

	Initial rev.

2000-08-29 17:55  rtoy

	* src/f2cl5.l:

	o In GET-ARG-DECL, return type INTEGER4 if the arg is a subtype of
	  INTEGER4. (So fixnum args are treated as INTEGER4 args for
	  declaration purposes instead of a union of fixnum and integer4
	  types.)
	o In PARSE-READ, don't use literal strings; make them FORTRAN_COMMENT's.

2000-08-29 17:52  rtoy

	* src/f2cl1.l:

	Need to coerce the RHS of statement functions to the type of the
	statement function itself.

2000-08-29 16:41  rtoy

	* src/f2cl5.l:

	o Remove lots of unused code
	o Fix a typo in the Fortra D format parser: the equivalent Lisp format
	  is E not D!  Also, explicitly specify the exponent character of "D".
	o For the E format, specify an explicit exponent character of "E".

2000-08-29 05:20  rtoy

	* src/f2cl2.l:

	Array slicing needs to handled in not only subroutine calls but
	function calls too.  Make it so.

2000-08-27 18:47  rtoy

	* val/formattest.for:

	Add some more tests.

2000-08-27 18:36  rtoy

	* src/: f2cl5.l, macros.l:

	Clean up handling of format statements.  Should handle many more
	formats correctly now.

2000-08-18 19:55  rtoy

	* packages/toms715.system:

	Use the right package for f2cl-compile.

2000-08-18 19:10  rtoy

	* packages/quadpack/Fortran/: dqc25c.f, dqc25f.f, dqc25s.f,
	  dqk15.f, dqk15i.f, dqk21.f, dqk31.f, dqk41.f, dqk51.f, dqk61.f,
	  dqng.f:

	PARSE-NUMBER understands (some) spaces within numbers.  Put the spaces
	back in.

2000-08-18 17:42  rtoy

	* val/tst-number.f:

	PARSE-NUMBER doesn't like spaces between the number and the decimal
	point.

2000-08-18 17:23  rtoy

	* val/commontest.for:

	o Add PARAMETER statement for testing common blocks with arrays
	  dimensioned via a parameter.
	o Add some more tests of common blocks to see if we do the right
	  thing.

2000-08-18 17:22  rtoy

	* src/f2cl6.l:

	Can't swallow blanks (for now) at the first part of parse-number
	because it causes things like "6.or." to become the symbol "6OR",
	which is wrong.

2000-08-18 17:08  rtoy

	* src/f2cl1.l:

	Gratuitous change from prog to let in TRANSLATE-AND-WRITE-SUBPROG.

2000-08-14 00:31  rtoy

	* src/f2cl6.l:

	With the change in PARSE-NUMBER, ADJUST_NRS was sometimes messing up
	the columns for the statement number and the statement itself.  Fix
	this by having ADJUST_NRS alwasy read the first 6 characters of the
	line itself and interpreting the statement number instead of having
	PARSE-NUMBER do that.  Statement numbers are working again!

2000-08-13 06:21  rtoy

	* val/tst-number.f:

	Initial revision.

2000-08-13 06:18  rtoy

	* src/f2cl6.l:

	Make PARSE-NUMBER handle sapces within numbers, which is perfectly
	acceptable Fortran.  (May be a bit buggy still; probably should
	rewrite PARSE-NUMBER.)

2000-08-13 06:16  rtoy

	* src/f2cl1.l:

	Oops!  CONCAT is still being used!  Reinstate it.

2000-08-10 20:00  rtoy

	* src/f2cl5.l:

	Declarations of the array type for arrays in common blocks were
	wrong.  (Oops!)

2000-08-10 15:50  rtoy

	* src/f2cl1.l:

	o UPDATE_CM_ARRAY_DIMS was not handling the new method of storing
	  dimensions.  Fix it.
	o Removed unused CONCAT function.
	o Gratuitous mods to PARSE-COMMON.

2000-08-10 00:45  rtoy

	* src/f2cl5.l:

	o In MAKE-DECLARATION, use the LOGICAL type instead of (MEMBER T NIL)
	  in declaring arrays.
	o MAKE-SPECIAL-VAR-DECL was not returning the right dimensions.
	  (After the conversion to 1-D arrays.)
	o In MAKE-COMMON-BLOCK-VARS, try to initialize arrays to the right
	  size and values.  (Particularly for logical arrays.)
	o In MAKE-COMMON-BLOCK-VAR-INIT, we didn't compute the array bounds
	  correctly.  Also, if we know the initializer for the common block
	  structure element initialized the array (because the dimension was a
	  number), don't do it when creating the structure.

2000-08-10 00:33  rtoy

	* src/f2cl1.l:

	The preprocessor converted // to f2cl-//.  We need to undo that
	because // in a COMMON statement really means the blank common block.
	For example:

		COMMON /c1/a, b//d, e

	The variables d and e are in the blank common block.  The file
	val/commontest.for should now be converted correctly.

2000-08-09 20:50  rtoy

	* src/f2cl1.l:

	Fortran says I can build up the elements of a common block in pieces
	by specifying the pieces in several separate common statements.
	Support that.

2000-08-09 00:14  rtoy

	* src/NOTES:

	[no log message]

2000-08-08 23:22  rtoy

	* val/tst-char.f:

	Add a simple test for getting argument types of string arrays in a
	function call.

2000-08-07 21:00  rtoy

	* src/macros.l:

	Add type ARRAY-STRINGS to denote an array of strings.

2000-08-07 20:55  rtoy

	* src/f2cl5.l:

	GET-ARG-DECL was confused by arrays of strings.  We return the type
	ARRAY-STRINGS now.  (Need better names for these types or need to fix
	the code so it handles these better!)

2000-08-07 19:02  rtoy

	* packages/: quadpack.system, toms715.system:

	Comment out unused functions, make it more palatable to Clisp logical
	pathnames, add some dependencies.

2000-08-07 15:02  rtoy

	* src/f2cl1.l:

	Make :keep-lisp-file default to T.

2000-08-05 21:24  rtoy

	* packages/toms/715/: erftst.f, j0test.f, psitst.f:

	Fix up some Hollerith strings that were confusing our Format parser.

2000-08-05 21:23  rtoy

	* src/f2cl5.l:

	Comment out some unreachable code.

2000-08-05 21:20  rtoy

	* src/f2cl2.l:

	o If we're parsing the LHS of an assignment, and it looks like a
	  function call, we don't want to mangle it because it's not a
	  function call but the definition of a statement function.
	o If the function is a call to statement function, we don't need to
	  mangle it because a statement function can't modify its parameters.

2000-08-05 21:16  rtoy

	* src/f2cl1.l:

	o Add special var *PARSING-LHS*
	o Add function F2CL-COMPILE to compile a Fortran file to object code
	  so the user doesn't have to call compile-file himself.
	o In PARSE-ASSIGNMENT, call PARSE-EXPRESSION appropriately if we're
	  parsing the LHS or RHS of an assignment.  (Prevents mangling of
	  statement function definitions into multiple-value-bind's of the
	  function.)
	o Changes to GENERATE-CALL-TO-ROUTINE:
	    o Revert back to just naming the variables sequentially.  The
	      problem is if the same variable is used more than once in the
	      parameter list.  (We may want to add this back in eventually.)
	    o Don't try to assign to constants like %TRUE% and %FALSE%.
	    o Only try to assign a new value to the parameter if the function
	      actually returned a new (non-NIL) value.  This allows for
	      functions that don't return extra parameters (like intrinsics)
	      to still be used without f2cl knowing exactly the calling sequence.

2000-08-05 21:06  rtoy

	* src/f2cl0.l:

	Export F2CL-COMPILE.

2000-08-04 16:20  rtoy

	* src/: f2cl1.l, f2cl5.l:

	Add very rudimentary support for Fortran READ statements.  This means
	we just basically call read and assign the result to the (simple)
	variable.  We don't even bother to look at the format number or check
	the variable type.

2000-08-03 15:45  rtoy

	* src/macros.l:

	Make FFORMAT1 handle lists that we get from implied do loops.

	The whole FFORMAT stuff needs to be rethought if we really want to
	support Fortran output.

2000-08-03 05:39  rtoy

	* src/f2cl5.l:

	The string passed to PARSE-FORMAT-DESCRIPTOR-H can be a character,
	digit, or symbol.  These all need to be converted to character.  Make
	it so.

2000-08-02 18:27  rtoy

	* val/formattest.for:

	Correct a few typos (subarray printing), and add a few more simple
	tests.

2000-08-02 18:26  rtoy

	* src/f2cl5.l:

	The D and E format descriptors should print out a D and E,
	respectively.  Thus add PARSE-FORMAT-DESCRIPTOR-D.

2000-08-02 18:11  rtoy

	* src/NOTES:

	[no log message]

2000-08-02 16:42  rtoy

	* src/f2cl5.l:

	o Add support for parsing Hollerith strings in format statements.  Not
	  perfect because the preprocessor mangles spaces within the string,
	  but we can at least print out the non-space parts of the string.
	  Changed PARSE-FORMAT1, DESTRUCT-DESCRIPTOR-LIST, and
	  PARES-FORMAT-DESCRIPTOR-H for this.

	o PARSE-FORMAT-DESCRIPTOR-LIST treated D format descriptor as F
	  instead of as E.  (Should we distinguish between D and E?)

	o PARSE-FORMAT-DESCRIPTOR-F didn't add the fill character when the
	  number is too large to fit in the desired field.

2000-08-02 01:02  rtoy

	* src/f2cl6.l:

	We were messing up the printing of comments after we changed
	PREPROCESS to handle continuation lines.  We need to accumulate
	comment lines until we know we have a complete line (with all
	continuation lines).  Then we can print out the line followed by the
	accumulated comment lines.  This makes the comments possible out of
	sync with the generated Lisp code, but they were never really in sync
	anyway.

2000-08-02 00:45  rtoy

	* src/f2cl1.l:

	o Add a few comments.
	o GENERATE-CALL-TO-ROUTINE was crashing when passed an array-slice.
	  We also hosed up function calls where no setters were needed.

2000-08-02 00:10  rtoy

	* src/macros.l:

	o Try to make the Fortran functions to convert to integers work the
	  way Fortran says they should.
	o Declaim most of the intrinsics as inline so we don't have an
	  additional function call for simple things.
	o Add some compiler macros for Fortran max/min functions to call the
	  Lisp max/min functions withouth using #'apply.
	o Try to declare the args to functions with branchs appropriately,
	  even in the face of signed zeroes.

2000-07-31 06:21  rtoy

	* src/f2cl2.l:

	Remove some unused functions.

2000-07-31 06:08  rtoy

	* src/f2cl1.l:

	Remove unused function PARSE-FUNCTION-CALL.

2000-07-31 05:00  rtoy

	* src/f2cl1.l:

	o Remove the support for continuation lines in
	  READSUBPROG-EXTRACT-FORMAT-STMTS since the preprocessing handles
	  that now.  Make this routine easier to read too(?).
	o Make CONCAT-OPERATORS more lispy.
	o Remove unused code that was replaced with new versions.

2000-07-30 08:12  rtoy

	* src/f2cl1.l:

	o In GENERATE-CALL-TO-ROUTINE, don't use VAR-n for the variable names;
	  prepend NEW- to the actual variable names.  Some gratuitous
	  re-indenting.

	o In PARSE-SUBROUTINE-CALL, subroutines can be passed in so we need to
	  funcall them, just like we do for functions.

2000-07-30 07:58  rtoy

	* src/f2cl5.l:

	Don't check for new variables inside of multiple-value-bind's that
	were created for function calls.  We only need to check in the
	arguments of the function call.

2000-07-30 07:56  rtoy

	* src/f2cl2.l:

	Function calls need to be handled like subroutine calls because
	functions can modify their parameters.

2000-07-30 07:54  rtoy

	* src/f2cl1.l:

	Create new function GENERATE-CALL-TO-ROUTINE that takes the heart of
	the multiple-value-bind stuff needed for getting the return values of
	subroutines.  Extend to handle functions.  Use this new routine in
	PARSE-SUBROUTINE-CALL.

2000-07-30 06:33  rtoy

	* src/f2cl1.l:

	READSUBPROG-EXTRACT-FORMAT-STMTS:

	  If the very first line had a line number, f2cl wouldn't understand the
	  line.  Fix this be reading the margin at the top of the main loop.
	  Also, don't do anything with MULTIPLE-LINE-FLAG since PREPROCESS now
	  handles line continuations.  (Need to remove MULTIPLE-LINE-FLAG).

	TRANSLATE-AND-WRITE-SUBPROG:

	  By Fortran calling rules, functions can actually modify the input
	  parameters.  Thus, functions need to return the function value and
	  all of the parameters.  (Still need to modify the code that
	  generates the caller so we can update the values appropriately.)

2000-07-29 00:10  rtoy

	* src/macros.l:

	Remove unused var from ARRAY-SLICE.

2000-07-29 00:08  rtoy

	* src/f2cl1.l:

	Take out the pprint-logical-block if we're using Clisp since it
	doesn't have it.

2000-07-29 00:07  rtoy

	* src/f2cl0.l:

	It's FORTRAN, not FORTAN!

2000-07-28 19:11  rtoy

	* src/NOTES:

	[no log message]

2000-07-28 19:09  rtoy

	* src/macros.l:

	o We are in the f2cl package now.
	o Remove the export expression.
	o // is now called F2CL-//, to prevent problems with the lisp variable
	  //.
	o REAL is now called FREAL, to prevent problems with the lisp type
	  REAL.

2000-07-28 19:07  rtoy

	* src/f2cl7.l:

	o We are in the f2cl package now.

2000-07-28 19:07  rtoy

	* src/f2cl6.l:

	o We are in the f2cl package now.
	o When we preprocess the file, we want to READ using the F2CL package
	  so the symbols are in our package.  (I think that's what I want.)

2000-07-28 19:05  rtoy

	* src/f2cl5.l:

	o We are in the f2cl package now.
	o We convert // to f2cl-//, even in format statements so fix
	  FIX-SLASHES to handle this case by replacing f2cl-// with 2 slashes,
	  as appropriate.

2000-07-28 19:02  rtoy

	* src/: f2cl3.l, f2cl4.l:

	o We are in the f2cl package now.

2000-07-28 19:01  rtoy

	* src/f2cl2.l:

	o We are in the f2cl package now.
	o The Fortran string concatenation operator, //, is now f2cl-//.
	  (Prevents conflicts with the lisp variable //.)  Handle
	  appropriately.
	o Change the name of the Fortran routine from REAL to FREAL.  Prevents
	  conflicts with the lisp type REAL.

2000-07-28 18:59  rtoy

	* src/f2cl1.l:

	o We are in the f2cl package now.
	o Read the preprocessed file in the f2cl package instead of the user
	  package.
	o Convert the Fortran string concatenation operator (//) to f2cl-//.

2000-07-28 18:56  rtoy

	* src/f2cl0.l:

	f2cl0.l isn't the (unused) f2cl loader anymore.  Use it to define the
	package used by f2cl.

2000-07-28 18:55  rtoy

	* packages/toms/715/algtst.f:

	Add exponent option in format statements so we can print out the large
	exponents.

2000-07-28 18:54  rtoy

	* f2cl.system:

	Add f2cl0.l to the list of components.

2000-07-27 18:43  rtoy

	* src/NOTES:

	[no log message]

2000-07-27 18:42  rtoy

	* src/f2cl5.l:

	o We want to be in the CL-USER package, not the USER package.
	o Use (typep x 'integer) instead of (fixnump x) in GET-FUN-ARG-TYPE.

2000-07-27 18:40  rtoy

	* src/f2cl1.l:

	o We want to be in the CL-USER package, not the USER package.
	o Clisp doesn't have pprint-logical-block.

2000-07-27 18:39  rtoy

	* src/: f2cl2.l, f2cl3.l, f2cl4.l, f2cl6.l, f2cl7.l, macros.l:

	We want to be in the CL-USER package, not the USER package.

2000-07-27 18:36  rtoy

	* packages/quadpack/Fortran/dqaws.f:

	Remove that extraneous control M character!

2000-07-22 00:17  rtoy

	* val/tst-fixups.f:

	Initial version.

2000-07-22 00:13  rtoy

	* packages/toms715.system:

	Initial version.

2000-07-22 00:12  rtoy

	* packages/quadpack.system:

	:ARRAY-SLICING should default to NIL.

2000-07-21 23:59  rtoy

	* packages/toms/715/: anrtst.f, dawtst.f, eitest.f, erftst.f,
	  gamtst.f, i0test.f, i1test.f, j0test.f, j1test.f, k0test.f,
	  k1test.f, psitst.f, ritest.f, rjtest.f, rktest.f, rytest.f,
	  y0test.f, y1test.f:

	o Make sure the formats are large enough to hold a 3-digit exponent.
	o Convert any Hollerith strings in format statements to strings.
	o Delete spaces embedded within numbers.
	o Some double precision values were being initialized by single
	  precision numbers.

2000-07-21 23:56  rtoy

	* src/f2cl1.l:

	Squash another parsing bug in initializing a single element of an
	array.

2000-07-21 23:19  rtoy

	* packages/toms/715/anorm.f:

	Don't declare ANORM twice (g77 doesn't like this).

2000-07-21 23:18  rtoy

	* packages/quadpack/quadpack-tests.lisp:

	If besj0 and dgamma functions exist, use them in the solutions so we
	can compute the absolute error.

2000-07-21 23:15  rtoy

	* src/f2cl6.l:

	Fix a typo in the punctuation list and add "/" to the list.

2000-07-21 23:14  rtoy

	* src/f2cl1.l:

	The last change to PARSE-DATA broke the case of

		dimension x(3)
		data x/1, 2, 3/

	Make sure we are really initializing an array and not just one element
	of the array.

2000-07-21 19:53  rtoy

	* packages/toms/715/: algtst.f, anorm.f, anrtst.f, besei0.f,
	  besei1.f, besek0.f, besek1.f, besi0.f, besi1.f, besj0.f, besj1.f,
	  besk0.f, besk1.f, besy0.f, besy1.f, calcei.f, calci0.f, calci1.f,
	  calck0.f, calck1.f, calerf.f, caljy0.f, caljy1.f, daw.f,
	  dawtst.f, derf.f, derfc.f, derfcx.f, dgamma.f, dlgama.f, dsubn.f,
	  ei.f, eitest.f, eone.f, erftst, erftst.f, expei.f, gamtst.f,
	  i0test.f, i1test.f, j0test.f, j1test.f, k0test.f, k1test.f,
	  machar.f, psi.f, psitst.f, ren.f, ribesl.f, ritest.f, rjbesl.f,
	  rjtest.f, rkbesl.f, rktest.f, rybesl.f, rytest.f, y0test.f,
	  y1test.f:

	Initial revision.

2000-07-21 19:48  rtoy

	* packages/quadpack.system:

	Add some support for :compiler-options if MK defsystem supports it.

2000-07-21 19:47  rtoy

	* src/f2cl5.l:

	o FIXUP-EXPRESSION:  add a case to convert (- N) to just -N, when N is
	  a number.

	o MERGE-OPS: incorrectly merged (- (- 3) IT) to (- 3 IT).  I think
	  this is fixed now.

	o INSERT-DECLARATIONS: Don't fixup external function refs if an
	  intrinsic was actually a variable in the arglist.  (Missed this case
	  from before.)

2000-07-21 19:43  rtoy

	* src/f2cl6.l:

	Need to be more careful about continuation lines.  We now leave a
	space between lines when concatenating them, except when the previous
	line ends with punctuation, or the current line begins with
	punctuation.  This is intended to handle cases like:

		double precision
	       & x

	from being converted to

		double precisionx

	which is wrong.  We want a space before the x.

	We want to handle these cases to, though:

		x = y .le
	       &. 42

	which shouldn't get a space between lines because we want "x = y
	.le. 42", not the invalid "x = y .le . 42".

2000-07-21 19:39  rtoy

	* src/f2cl1.l:

	PARSE-DATA and friends were mishandling the case

		DATA array/1,2,3,4/

	where array was an array.

2000-07-20 17:48  rtoy

	* packages/quadpack/Fortran/dqawfe.f:

	Revert back to rev 1.2 since this file will work if we compile with
	array-slicing off.

2000-07-20 17:42  rtoy

	* packages/quadpack.system:

	Initial revision

2000-07-20 17:39  rtoy

	* val/tst-init.f:

	Initial revision

2000-07-20 17:28  rtoy

	* packages/quadpack/quadpack-tests.lisp:

	Initial revision

2000-07-20 15:47  rtoy

	* src/NOTES:

	[no log message]

2000-07-20 15:44  rtoy

	* src/macros.l:

	o Remove old fref macro
	o Add some comments
	o Add macro ARRAY-INITIALIZE to handle creating the appropriate for to
	  give to make-array :initial-contents.

2000-07-20 15:43  rtoy

	* src/f2cl5.l:

	Since all arrays are now actually stored in column-major order in a
	1-dimensional vector, we don't need to transpose the data initializers
	anymore.  Replace fortran-transpose with fortran-data-init to
	correctly initialize the array.

2000-07-20 15:40  rtoy

	* src/f2cl1.l:

	o PARSE-DATA was not correctly handling data statements of the form:

		data x(1),x(2),x(3)/n1, n2, n3/

	o FIX-UP-NEGATIVE-NUMBER in PARSE-DATA1 didn't handle the case when
	  passed a value like 1.0d%1 which f2cl had converted from 1.0d-1.

2000-07-20 15:37  rtoy

	* packages/quadpack/Fortran/dqawfe.f:

	In the call to dqawoe, the code was passing a single element of an
	array to the routine.  However, the usage confuses f2cl when
	array-slicing is on.  Change the code to pass a single element in.
	(Alternatively, we probably could have just run f2cl with
	array-slicing off.)

2000-07-20 00:17  rtoy

	* src/f2cl5.l:

	Remove a print statement inadvertently left in.

2000-07-20 00:16  rtoy

	* src/f2cl1.l:

	o TRANSLATE-AND-WRITE-SUBPROG doesn't have the :declaim, :package, and
	  :options arguments anymore.
	o Clean out unused code.

2000-07-19 16:10  rtoy

	* src/NOTES:

	Add comments on conversion to 1-D arrays.

2000-07-19 16:04  rtoy

	* src/f2cl5.l:

	o GET-FUN-ARG-TYPE returns a second value to indicate if the arg is an
	  array or not.
	o More hacking on GET-ARG-DECL.  Should now correctly identify if an
	  array is used as a parameter.  Still needs work.
	o MAKE_MAKE-ARRAY_STMT creates 1-D arrays for all arrays to support
	  Fortran array slicing.
	o In MAKE-DECLARATION, declare all arrays as 1-D even if
	  multi-dimensional, for supporting Fortran array slicing.

2000-07-19 15:54  rtoy

	* src/macros.l:

	o Add the types ARRAY-DOUBLE-FLOAT, ARRAY-SINGLE-FLOAT, and
	  ARRAY-INTEGER4.
	o All arrays are 1-D now to support slicing of Fortran arrays
	  correctly.
	o All arrays are in column-major order just like Fortran (and the
	  opposite of Lisp).  This is to support slicing of arrays.  Modified
	  FREF to support this by taking an extra arg for the dimensions of
	  the array.
	o Added macro ARRAY-SLICE to slice the array properly.
	o Optimized routine DMIN1 a bit.   (Need to do that for more routines.)

2000-07-19 15:50  rtoy

	* src/f2cl2.l:

	o Use the macro ARRAY-SLICE to slice the array instead of inline as we
	  were doing it.
	o All arrays are 1-D now to support proper Fortran array slicing, so
	  FREF needs to know the array dimensions.

2000-07-19 15:47  rtoy

	* src/f2cl1.l:

	o Only print out one banner and version number, not one for each
	  subprog!
	o In PARSE-DATA1, FREF now requires the dimensions of the array as the
	  third argument. (Needed to support 1-d arrays and slicing.)

2000-07-18 16:07  rtoy

	* src/f2cl1.l:

	Make the appropriate code changes due to the change in usage in
	UPDATE-CALLED-FUNCTIONS-LIST since the name arg is now either a list
	of the name for functions or a list of the name and :subroutine for
	subroutines.

2000-07-18 16:04  rtoy

	* src/f2cl2.l:

	Changes for UPDATE-CALLED-FUNCTIONS-LIST:

	o Document the layout of *functions-list*
	o Make the appropriate code changes in other parts since the name arg
	  is now either a list of the name for functions or a list of the name
	  and :subroutine for subroutines.  (Used for declaring functions and
	  subroutines correctly.)

2000-07-18 15:59  rtoy

	* src/f2cl5.l:

	o Left out some double precision intrinsics for getting function
	  types.
	o Declarations for functions were not quite right.  Make it better, but
	  still needs some work.
	o The format of *functions-used* has changed.  Do the right thing in
	  insert-declarations.

2000-07-14 23:47  rtoy

	* packages/quadpack/tst-dqagse.lisp:

	Initial version.

2000-07-14 23:28  rtoy

	* packages/quadpack/README:

	Mention tst-dqagse.lisp.

2000-07-14 23:23  rtoy

	* src/f2cl5.l:

	o In GET-FUN-ARG-TYPE, when looking up the type of an expression,
	  handle (funcall f ...) by looking up the type of "f" instead of
	  looking up the type of "funcall"!

	o In FIX-DO, a goto to the end of the loop would get translated into a
	  (return).  This seems wrong, and I don't know why it wants to do
	  this.

2000-07-14 18:58  rtoy

	* val/tst-slice.f:

	Initial version.

2000-07-14 18:45  rtoy

	* src/f2cl1.l:

	o Allow the user to specify what package the resulting file should be
	  in and any declaims he wants.
	o Print out some additional information in the result like the f2cl
	  version and the compilation options.
	o Added *f2cl-version*

2000-07-14 17:58  rtoy

	* src/NOTES:

	Info about array slicing.

2000-07-14 17:50  rtoy

	* src/macros.l:

	Get rid of *dummy_var*.  It's not used anymore.

2000-07-14 17:50  rtoy

	* src/f2cl5.l:

	o When getting the type of an arg, handle the case when the arg is
	  actually a call to make-array for array slicing.  Get the type form
	  the :element-type.
	o If the arg has type fixnum, return integer4 instead.

2000-07-14 17:48  rtoy

	* src/f2cl2.l:

	Preliminary support for array slicing.  Any array reference in a
	function or subroutine call is assumed to mean a slice of the array.
	This is done by creating a displaced array to the original array.

2000-07-14 17:44  rtoy

	* src/f2cl1.l:

	o Added keyword :array-slicing to f2cl to support array slicing.
	o Preliminary support for array slicing.  That is,

		real x(100)
		call sub(x(4))

	  means the subroutine sub actually gets an array of size 96 starting
	  from x(4).

	  There are some problems with this.  If sub actually wanted a simple
	  real variable, we'll be passing the wrong thing to sub.  f2cl in
	  general doesn't know what type of parameters sub wants.

	  To work around this problem, either run f2cl with :array-slicing set
	  to NIL, or change the call to something like:

		real x(100)
		real tmp

		tmp = x(4)
		call sub(tmp)
		x(4) = tmp

	  (That last assignment needed only if sub is modifies the parameter.)

	o In parsing a subroutine call, don't use the multiple-value-setq
	  version at all anymore.  Use the multiple-value-bind version
	  instead.

2000-07-14 16:08  rtoy

	* src/f2cl5.l:

	Honor the user's choice of declaring arrays as array or simple-array.
	Except we leave Fortran character strings still declared as
	simple-array.

2000-07-14 16:05  rtoy

	* src/f2cl1.l:

	Allow the user to specify whether he wants f2cl to declare arrays as
	type array or simple-array.

2000-07-14 15:33  rtoy

	* src/f2cl5.l:

	Don't apply external ref fixups if the external function was also a
	parameter to the routine.  If we do, then we referring to the wrong
	thing!

2000-07-14 15:30  rtoy

	* src/f2cl1.l:

	o Computed goto apparently can have a comma before the expression, and
	  we weren't handling this correctly.  (At least g77 allows it, even
	  though I can't find it mentioned in the Fortran 77 standard.)

	o When doing a subroutine call, don't try to assign the return value
	  to external functions.  Fortran can't return functions.

2000-07-13 18:55  rtoy

	* src/: f2cl0.l, f2cl1.l, f2cl2.l, f2cl3.l, f2cl4.l, f2cl5.l,
	  f2cl6.l, f2cl7.l, macros.l:

	To satisfy the Copyright statement, we have placed the RCS logs in
	each source file in f2cl.  (Hope this satisfies the copyright.)

2000-07-13 00:09  rtoy

	* val/tst-char.f:

	[no log message]

2000-07-13 00:07  rtoy

	* src/macros.l:

	Character strings should not be printed out as arrays are; honor the
	given format instead of just PRINTing it.

	(The whole formatting stuff needs major work.)

2000-07-13 00:00  rtoy

	* val/: stmtfntest.for, subprogtest.for:

	Make this program actually compile and run.  Fix the syntax errors.
	Change some of the code so that it doesn't play games with function
	and variable types and stuff.  (These definitely confuse f2cl and the
	resulting Lisp code.)  With these changes, the result compiles with
	Fortran and f2cl, and they produce equivalent outputs.

2000-07-12 23:49  rtoy

	* src/f2cl5.l:

	In INSERT-DECLARATIONS, we weren't building up the various pieces
	correctly when putting the parameter stuff, the saved variable stuff,
	and the routine itself together.  This should work better.

2000-07-12 23:35  rtoy

	* src/NOTES:

	[no log message]

2000-07-12 23:34  rtoy

	* src/f2cl1.l:

	In CONVERT-DATA-TYPE, the type "double precision" should have been
	converted to double-float, not double!

2000-07-12 20:19  rtoy

	* src/f2cl5.l:

	INSERT-DECLARATIONS:
	  Leave the debugging print statements in.  They're quite useful.

	MAKE-CHAR-DECL, MAKE-CHAR-INIT:
	  With the change in PARSE-CHAR-DECL, some cases here don't happen
	  anymore.  Remove some, and leave some in with error messages, just
	  in case.  Also, array dimensions are now stored differently, so
	  account for that.

2000-07-12 20:12  rtoy

	* src/f2cl2.l:

	o In LOOKUP-ARRAY-BOUNDS, need to look in *COMMON_ARRAY_DIMS* too for
	  arrays that were dimensioned only in a common statement.

	  The format of the dimensions of arrays of character strings now
	  matches that of other arrays.  Make the appropriate changes.

	o In ID-FACTOR, forgot to add function calls of no parameters to the
	  list of called functions.

	  Also, we need to use funcall only if the function is a parameter.
	  If it's not, we can call it directly.

2000-07-12 20:06  rtoy

	* src/f2cl1.l:

	o Make specification of common array dimensions match the format used
	  for other arrays.

	o Make PARSE-CHAR-DECL use the same format for array dimensions as
	  used for other arrays.  Thus, it's now (var-name (lo-1 hi-1) (lo-2
	  hi-2) ...) instead of (var-name ((lo-1 hi-1) (lo-2 hi-2) ...)).

2000-07-12 17:29  rtoy

	* src/f2cl5.l:

	o Forgot to exclude variables defined in parameter statements from the
	  list of things that shouldn't be done in
	  FIXUP-EXTERNAL-FUNCTION-REFS.

	o Some preliminary support for character strings in common blocks.
	  Still needs work.

2000-07-12 17:26  rtoy

	* src/macros.l:

	Add new macro F2CL-SET-STRING and a new function F2CL-STRING to help
	in assigning values to Fortran character strings correctly.

2000-07-12 17:24  rtoy

	* src/f2cl1.l:

	o In PARSE-ASSIGNMENT and PARSE-ARRAYREF-OR-STMTFN, we need to handle
	  Fortran character strings specially because spaces are used as
	  fillers, if needed.

	o In PARSE-CHAR-DECL, make the character type always contain the
	  length of the character string.  Previously, the length was
	  sometimes with the character type and sometimes with the variable.

2000-07-12 15:45  rtoy

	* src/f2cl5.l:

	o In CHECK_NEW_VBLES, don't remove references to intrinsic functions.
	  We might be using a variable with the same name as an intrinsic.

	o In FIXUP-EXTERNAL-FUNCTION-REFS, skip over declaration expressions
	  and function expressions.  If we didn't, we get invalid expressions.

	o In INSERT-DECLARATIONS, we were too agressive in removing intrinsic
	  function names from *DECLARED_VBLES* and *UNDECLARED_VBLES*.  We
	  might be using them as variables.

	  When fixing up function refs, we should apply it to intrinsic
	  functions only if they aren't being used as variables.  (Can't have
	  a function and a variable with the same name in the same routine in
	  Fortran.)

2000-07-12 15:32  rtoy

	* src/f2cl2.l:

	Make a note that the intrinsic function is a function call so we don't
	pretend it's a variable and spuriously declare and initialize it.

2000-07-12 15:28  rtoy

	* src/f2cl1.l:

	Make a note that a name is a subroutine name so we don't pretend it's
	a variable and spuriously declare and initialize it.

2000-07-11 23:49  rtoy

	* src/f2cl1.l:

	o Update code to call CHECK-RESERVED-LISP-NAMES instead of
	  CHECK-T-AND-PI.
	o Forgot to call CHECK-RESERVED-LISP-NAMES when getting the name of a
	  program, function, and subroutine.

2000-07-11 23:46  rtoy

	* src/f2cl2.l:

	Update code to call CHECK-RESERVED-LISP-NAMES instead of
	CHECK-T-AND-PI.

2000-07-11 23:45  rtoy

	* src/f2cl5.l:

	o Skip over FUNCALL in CHECK_NEW_VBLES.  Otherwise, FUNCALL is
	  spuriously declared as a variable.

	o Added FIXUP-EXTERNAL-FUNCTION-REFS so that all occurrences of the
	  external function (as a parameter) are replaced with #'<func>.

	o In INSERT-DECLARATIONS:
	  o  If a name is also either an external function name or an
	     instrinsic function name, we need to remove it from the list of
	     declared or undeclared variables.  Otherwise, that name gets
	     declared as an (unused) variable.
	  o  Handle fixups for external function refs using the new function
	     above.

	o Change CHECK-T-AND-PI to CHECK-RESERVED-LISP-NAMES because we need
	  to make sure reserved Lisp names are used as either functions or
	  variables because the generated code will confuse Lisp.  Also have
	  it check for more reserved names instead of just T, PI, and NIL.
	  (The list of reserved names is currently incomplete.)

	o Update code to call CHECK-RESERVED-LISP-NAMES instead of
	  CHECK-T-AND-PI.

2000-07-11 23:36  rtoy

	* src/macros.l:

	Intrinsic functions should be functions.  If they're not, we can't
	pass them as parameters to other routines.  Thus, change them from
	macros to functions.

2000-07-11 21:32  rtoy

	* src/f2cl5.l:

	o Inadvertently left in some debugging format expressions.
	o Try to clean up the output a bit in INSERT-DECLARATIONS by not
	  leaving empty LET's and LET*'s when no PARAMETER statements were
	  given or when no variables were explicitly SAVE'd.  Remove empty
	  declarations too.

2000-07-11 21:27  rtoy

	* src/f2cl1.l:

	Fix a long-standing bug in TRANSLATE-AND-WRITE-SUBPROG wherein f2cl
	would try to return goofy stuff from the main program when no PROGRAM
	statement was given.  Add some comments there too.

2000-07-11 00:09  rtoy

	* src/f2cl5.l:

	o MAKE-CHAR-DECL wasn't declaring arrays of character strings
	  correctly.  (Gratuitously change indentation as well.)

	o Fix a bug in MAKE-CHAR-INIT where character arrays with an explicit
	  length spec was not calling f2cl-init-string correctly.

2000-07-10 23:36  rtoy

	* src/f2cl5.l:

	o MAKE-CHAR-INIT wasn't initializing arrays of character strings
	  correctly.  (Gratuitously change indentation as well.)

	o Gratuitously change indentation for VBLE-IS-ARRAY-P.

2000-07-10 23:25  rtoy

	* src/f2cl2.l:

	LOOKUP-ARRAY-BOUNDS didn't understand how character arrays were stored
	in *EXPLICIT_VBLE_DECLS*.  Add comment on how arrays are identified.

2000-07-10 23:20  rtoy

	* src/f2cl1.l:

	The parsing of character declarations was missing lots of various
	possible declarations.  Fix this.

2000-07-10 21:08  rtoy

	* src/macros.l:

	Add f2cl-init-string to initialize multi-dimensional arrays of
	character strings appropriately.

2000-07-10 15:56  rtoy

	* src/macros.l:

	Fix typos in log10 macro:  misplaced closing parenthesis.

2000-07-10 15:54  rtoy

	* src/f2cl6.l:

	o clisp doesn't like the inline declaration of my-digit-char-p and
	  my-char= in parse-number.  (Need to investigate this a bit more, but
	  for now, just take out the inline.)

	o parse-number wasn't correctly parsing numbers like 0.d+01.  This was
	  getting mangled to 0.0 d+01.

2000-07-01 00:08  rtoy

	* src/f2cl5.l:

	The previous change was correct, but didn't handle the case where the
	type was implicitly given.  This should work better in both
	situations.

2000-06-30 23:06  rtoy

	* src/f2cl5.l:

	o Select the :user package.
	o Delete the old commented-out CHECK_NEW_VBLES
	o In LOOKUP-VBLE-TYPE, we weren't handling the case of a variable
	  declared like this:

		dimension x(10)
		double precision x

	  *EXPLICIT_VBLE_DECLS* contained two entries for X (one as an array
	  and one as a variable), and the lookup returned whatever was found
	  first.  In this case we would incorrectly declare X using the
	  default Fortran typing rules.  This hoses the coercion stuff.  We
	  now try to look up the type skipping over array types.  If this
	  fails, we then use the default Fortran rules.

2000-06-30 22:58  rtoy

	* src/f2cl1.l:

	Instrinsic functions should be part of the declared variables, even if
	they were explicitly declared.  (Except when they're external, which
	makes them not intrinsic, but we don't handle that case.)

2000-06-30 19:47  rtoy

	* packages/: d1mach.lisp, i1mach.lisp:

	Initial version.

2000-06-30 19:46  rtoy

	* packages/quadpack/Fortran/xerror.f:

	Remove the i1mach function.  f2cl doesn't know how to handle equivalences.

2000-06-30 19:30  rtoy

	* src/f2cl5.l:

	The way MAKE-FCN-DECL was returning declarations confuses
	PRETTY-DECLS.  Fix it.

2000-06-30 19:26  rtoy

	* packages/quadpack/Fortran/: dqawfe.f, dqc25c.f, dqc25f.f,
	  dqc25s.f, dqng.f:

	Although legal Fortran, f2cl doesn't like spaces embedded within a
	number.  Remove the spaces.

2000-06-30 18:35  rtoy

	* src/f2cl6.l:

	When concatenating continuation lines, trim off any leading white
	space on the continuation lines.  (May not be quite right according to
	Fortran rules, especially if the continuation lines are strings.)

2000-06-30 18:33  rtoy

	* src/f2cl5.l:

	Inadvertently left a debugging print statement.

2000-06-30 18:32  rtoy

	* packages/quadpack/Fortran/: dqk15.f, dqk15i.f, dqk21.f, dqk31.f,
	  dqk41.f, dqk51.f, dqk61.f:

	Although legal Fortran, f2cl doesn't like spaces embedded within a
	number.  Remove the spaces.

2000-06-30 18:15  rtoy

	* src/f2cl6.l:

	f2cl doesn't parse certain continuation lines very well, so let's have
	the preprocessor concatenate the continuation lines into one big line
	for later parsing.  Example:

	      if(0.1d-01.gt.(result/area).or.(result/area).gt.0.1d+03.
	     *or.errsum.gt.dabs(area)) ier = 6

	used to confuse f2cl because it get translated into something like

		... > 0.1d03.0 or.errsum
		            ^^^
	(The trailing dot wasn't treated as part of .or.)

	(Should probably remove the parsing code that is supposed to handle
	continuation lines.)

2000-06-30 18:11  rtoy

	* src/f2cl5.l:

	o CHECK_NEW_VBLES
	  o %FALSE% and %TRUE% are not variables but special f2cl names
	  o f2cl-hacked numbers are not variables.  Check for that.  This just
	    removes weird variable names from the generated lisp code.
	o Added SYM-IS-NUMBER-P to determine if a symbol is really a hacked
	  f2cl number.  This happens because during preprocessing when f2cl
	  converts numbers like x.yE-n to x.y%n for later parsing.

2000-06-30 16:19  rtoy

	* packages/quadpack/Fortran/: dqag.f, dqagi.f, dqags.f, dqawc.f,
	  dqawf.f, dqawo.f, dqaws.f, dqng.f, xerror.f:

	f2cl doesn't understand Hollerith strings, so convert them to normal
	strings.

2000-06-30 16:00  rtoy

	* packages/quadpack/Fortran/: d1mach.f, dgtsl.f, dqag.f, dqage.f,
	  dqagi.f, dqagie.f, dqagpe.f, dqags.f, dqagse.f, dqawc.f,
	  dqawce.f, dqawf.f, dqawfe.f, dqawo.f, dqawoe.f, dqaws.f,
	  dqawse.f, dqc25c.f, dqc25f.f, dqc25s.f, dqcheb.f, dqelg.f,
	  dqk15.f, dqk15i.f, dqk15w.f, dqk21.f, dqk31.f, dqk41.f, dqk51.f,
	  dqk61.f, dqmomo.f, dqng.f, dqpsrt.f, dqwgtc.f, dqwgtf.f,
	  dqwgts.f, xerror.f:

	Initial revision.

2000-06-30 15:57  rtoy

	* packages/quadpack/README:

	[no log message]

2000-06-29 19:42  rtoy

	* src/NOTES:

	[no log message]

2000-06-29 19:41  rtoy

	* src/f2cl6.l:

	Partially reverse the change in 1.3 because that's was not the right
	thing to do in general.  Allow this brokenness if #:broken-peek-char
	is a feature.  (Useful for older versions of CMUCL?)

2000-06-29 18:59  rtoy

	* f2cl.system:

	Should be mk:defsystem instead of just defsystem for recent defsystems.

2000-06-07 19:24  rtoy

	* src/NOTES, f2cl.system:

	[no log message]

2000-06-07 19:21  rtoy

	* src/macros.l:

	date: 1999/08/06

	The type declaration in fdo was wrong.

2000-06-07 19:19  rtoy

	* src/macros.l:

	date: 1999/08/05

	Updated some the int, aint macros to handle the full integer4 type for
	CMUCL.

2000-06-07 19:18  rtoy

	* src/macros.l:

	date: 1999/07/09

	Added deftypes for integer*4, integer*2, integer*1, real*8, complex*8,
	and complex*16 data types of Fortran.

2000-06-07 19:16  rtoy

	* src/macros.l:

	date: 1999/07/08

	o Added a LOGICAL type.

	o Fix some bugs in fref-string

	o Add max1 to the intrinsic functions

	o Rename real_ to real.

	o Added the string comparison functions.  These still need some work
	  to get real Fortran semantics.

2000-06-07 19:15  rtoy

	* src/macros.l:

	date: 1999/07/05

	Removed the apparently unused rfref and rfset.  Added the macros
	fref-string and fset-string for accessing string variables and // for
	concatenating strings.

2000-06-07 19:13  rtoy

	* src/macros.l:

	date: 1999/06/30

	o  Removed the function comment which didn't really work as expected.
	o  Add macro fortran_comment that replaces the old function comment.

2000-06-07 19:12  rtoy

	* src/macros.l:

	date: 1999/06/30

	Renamed many special variables to includes *'s around the names so I
	can tell they're special.

2000-06-07 19:03  rtoy

	* src/macros.l:

	date: 1999/06/30

	Remove unused code.

2000-06-07 18:59  rtoy

	* src/macros.l:

	date: 1999/06/29

	Oops:  ffloat had a typo!

2000-06-07 18:58  rtoy

	* src/macros.l:

	date: 1999/06/29

	Added *dummy_var*.

2000-06-07 18:55  rtoy

	* src/macros.l:

	date: 1999/06/29

	o In f2cl/, the typep tests should be for integer, not fixnum.
	o Added ffloat macro for the float intrinsic.

2000-06-07 18:52  rtoy

	* src/macros.l:

	date: 1997/07/31

	Many changes and bug fixes

2000-06-07 18:48  rtoy

	* src/f2cl5.l:

	date: 1999/08/05

	Make get-fun-arg-type understand the cmplx function.

2000-06-07 18:44  rtoy

	* src/f2cl5.l:

	date: 1999/08/05

	Make get-fun-arg-type understand the conjg function.

2000-06-07 18:42  rtoy

	* src/f2cl1.l:

	date: 1999/08/05

	Fixed a bug in parse-assignment and parse-arrayref-or-stmtfn where we
	coerced something when we didn't have to.

2000-06-07 18:37  rtoy

	* src/f2cl1.l:

	date: 1999/07/20

	o  parse-declaration had a typo such that declarations for character
	   strings weren't parsed correctly.
	o  convert-data-type didn't handle INTEGER types:  was converted to
	   fixnum instead of integer4.

2000-06-07 18:33  rtoy

	* src/f2cl5.l:

	date: 1999/07/20

	Make make-char-init initialize Fortran character strings to spaces
	instead of the Lisp default.  This is more in line with typical
	Fortran usage.

2000-06-07 18:30  rtoy

	* src/f2cl5.l:

	date: 1999/07/09

	All fixnum data types should be replaced by integer4.  This allows
	integer4 to be either a fixnum or (signed-byte 32), as appropriate
	(See macros.l for the deftype.)

2000-06-07 18:29  rtoy

	* src/f2cl1.l:

	date: 1999/07/12

	Hmm, const was removed, but is called in another function.

2000-06-07 18:28  rtoy

	* src/f2cl5.l:

	date: 1999/07/08

	Key parameters should use let*, not let, so they can refer to each
	other.

2000-06-07 18:27  rtoy

	* src/f2cl1.l:

	date: 1999/07/12

	o Default Fortran extensions are tried in case the input file doesn't
	  exist.

	o Removed some unused functions, cleaned up some code.

2000-06-07 18:26  rtoy

	* src/f2cl5.l:

	date: 1999/07/08 15:31:41;  author: toy;  state: Exp;  lines: +133 -21
	o Correct yet another bug in fixup-expression.  We weren't descending
	  some parts of the tree.

	o Added FIXUP-RELOP to handle relational operators.  This is needed to
	  handle relational operators for strings.

	o Added MERGE-OPS to try to merge multiple operations into one.
	  Things like (+ (+ (+ x y) z) w) become (+ x y z w), which is more
	  natural Lisp.

	o Changed insert-declarations to handle the new FIXUP-RELOP and
	  MERGE-OPS and do a better job for common blocks.

	o Fixed some functions and added a couple more to process common
	  blocks better.  This means creating the defstruct correctly, and
	  initializing them correctly with the appropriate sized arrays.  Also
	  handles the case when array dimensions come from PARAMETER values.

2000-06-07 18:25  rtoy

	* src/f2cl1.l:

	date: 1999/07/09

	o Want special-print to print readably, because numbers should be
	  printed readably in case the user has set
	  *read-default-float-format* to something other than 'single-float.

	o Allow the parser to recognize the fortran data types integer*4,
	  integer*2, integer*1, real*8, real*4, complex*8, and complex*16.
	  This also fixes a bug that complex wasn't a recognized type
	  before. (I think.)

2000-06-07 18:20  rtoy

	* src/f2cl5.l:

	date: 1999/07/06

	o CHECK_NEW_VBLES should ignore EXPT too.
	o Clean up some variable init stuff:  if a variable appears in
	  *functions-used*, remove that variable from *declared_vbles*.

2000-06-07 18:19  rtoy

	* src/f2cl1.l:

	date: 1999/07/08

	A new PARSE-SUBROUTINE-CALL.  The old one didn't properly handle
	things like

	  call f(x(1))
	  ...
	  subroutine f(v)
	  real v
	  ...
	  v = 42
	  end

	This was translated to

	  (multiple-value-setq (*dummy-var*)
	    (f (fref x (1))))

	And thus, x(1) was never set!

	This version translates this to

	  (multiple-value-bind (junk)
	      (f (fref x (1)))
	    (fsetf (fref x (1)) junk))

	which does the right thing.

	This doesn't handle everything, though, like array slices, but it's
	better.

2000-06-07 18:18  rtoy

	* src/f2cl5.l:

	date: 1999/07/06

	o The last change for fref wasn't quite right.
	o The FDO macro depends on a certain form which fixup-expression
	  breaks.  This is fixed now and works.  However, we should change the
	  syntax of FDO!

2000-06-07 18:17  rtoy

	* src/f2cl1.l:

	date: 1999/07/08

	Was probably not updating *common-block-initialized* with the common
	block name.

2000-06-07 18:11  rtoy

	* src/f2cl5.l:

	date: 1999/07/06

	Minor cleanup.

2000-06-07 18:11  rtoy

	* src/f2cl1.l:

	date: 1999/07/08

	PARSE-ARRAYREF-OR-STMTFN needs to check the types, just like
	PARSE-ASSIGNMENT so we can coerce when needed, or as instructed.

2000-06-07 18:08  rtoy

	* src/f2cl5.l:

	date: 1999/07/06

	Fixed some more bugs in fixup-expression.

2000-06-07 18:05  rtoy

	* src/f2cl1.l:

	date: 1999/07/06

	In assignments, if the LHS is a string (Fortran character data type),
	we do a copy-seq of the RHS in all cases.

2000-06-07 18:03  rtoy

	* src/f2cl5.l:

	date: 1999/07/06

	Fortran PARAMETER variables are no longer keyword arguments to the
	function.  Instead, a closure is created with the PARAMETER variables
	appropriately set.  This means you can't dynamically change PARAMETER
	values; you need to edit the source and recompile.

	This change was needed because SAVE'd variables can create closures,
	and if the SAVE'd variables use the PARAMETER variables, as
	dimensions, say, then, the PARAMETER value must be available to the
	SAVE'd variables.

2000-06-07 18:01  rtoy

	* src/f2cl1.l:

	date: 1999/07/05

	In parse-arrayref-or-stmtfn: add support for string references, which
	are different from array references.

	Added list-split-multi-string so we can parse strings in subroutine
	calls.

	In concat-operators, handle the case of the Fortran string
	concatenation operator, //.

2000-06-07 17:59  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	Forgot to take out debugging print statement.

2000-06-07 17:58  rtoy

	* src/f2cl1.l:

	date: 1999/07/05

	Removed some unused code.

2000-06-07 17:56  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	lookup-vble-type now returns a proper Lisp type for strings.

2000-06-07 17:55  rtoy

	* src/f2cl1.l:

	date: 1999/07/05

	We need to check for new variables in PARSE-ASSIGNMENT.  That way, we
	get a list of variables that were undeclared so that we can initialize
	them appropriately and declare their type.

2000-06-07 17:29  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	Add ELSEIF to *FORTRAN-KEYWORDS*.

	In check_new_vbles, we forgot to skip over strings, FREF-STRING, and
	|:| (the substring indexing character)

	In lookup-vble-type, we didn't return the correct type if the array
	was declared only using a DIMENSION statement.  In this case we need
	to use Fortran implicit rules to get the type.

	In GET-FUN-ARG-TYPE, VBLE-DECLARED-TWICE-P doesn't always return a
	list of two elements.

	In FIXUP-EXPRESSION, we forgot to include the rest of the expression
	during fixup, in certain cases.

2000-06-07 17:28  rtoy

	* src/f2cl1.l:

	date: 1999/07/03

	Make parse_upper_and_lower_bounds a bit smarter about negative numeric
	bounds.  This means a bound like '(- 5) is replaced with '(-5), which
	produces better results in other places because the bound is a number
	instead of an expression.

2000-06-07 17:27  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	Removed some unused code.

2000-06-07 17:26  rtoy

	* src/f2cl1.l:

	date: 1999/07/03

	Remove the debugging print statement inadvertently left in.

2000-06-07 17:26  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	GET-FUN-ARG-TYPE wasn't returning the right types for logical
	operations.

2000-06-07 17:24  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	Make coercion of assignments a little bit smarter.  Also corrected a
	bug in trying to coerce a value to an integer variable:  need to use
	truncate, not coerce, in this case.

2000-06-07 17:22  rtoy

	* src/f2cl5.l:

	date: 1999/07/05

	o  Replaced check_new_vbles with a new version.  (I have no idea what
	   the original was really doing).  This one appears to work, and
	   actually sets *undeclared_vbles* correctly.  (Some cases were
	   missed in the original.)

	o  optimize-f2cl/, fixup-expr-mul, and fixup-expression modified so
	   that they create new lists instead of destructively modifying the
	   input.

	o  fixup-expression handles a few more cases.

	o  Change insert-declaration to use functions correctly.

2000-06-07 17:20  rtoy

	* src/f2cl2.l:

	date: 1999/07/05

	Fixed a small bug in processing the array indices.

2000-06-07 17:19  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	Fix typo in f2cl.

2000-06-07 17:18  rtoy

	* src/f2cl5.l:

	date: 1999/07/03

	o  GET-UPGRADED-FUN-ARG-TYPE failed in some cases.  Fixed them (I
	   think).  Also, make it return a union of the types found instead of
	   T.
	o  Try to optimize out the f2cl/ macro by replacing it with / or
	   truncate if we are able to determine the types.  If not, leave the
	   macro in.  (Done in optimize-f2cl/.)

2000-06-07 17:17  rtoy

	* src/f2cl2.l:

	date: 1999/07/05

	lookup-vble-type now returns a proper Lisp type for character strings.

2000-06-07 17:16  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	Delete the temp file unless instructed otherwise.

2000-06-07 17:15  rtoy

	* src/f2cl5.l:

	date: 1999/07/03

	In make-declaration, if it's possible, put in the actual bounds for
	all arrays, if possible.  (Some cases were missed.)

2000-06-07 17:14  rtoy

	* src/f2cl2.l:

	date: 1999/07/05

	Make id-factor1 handle Fortran string concat operator.
	Make id-factor handle Fortran string references.

2000-06-07 17:13  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	o  Renamed comment to fortran_comment.
	o  Removed some unused code.

2000-06-07 17:12  rtoy

	* src/f2cl5.l:

	date: 1999/07/03

	o  GET-FUN-ARG-TYPE didn't handle array types correctly.
	o  A few peek-char's needed to be changed.  (Is this really right?)

2000-06-07 17:11  rtoy

	* src/f2cl2.l:

	date: 1999/07/03

	Forgot to remove a debugging print statement.

2000-06-07 17:10  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	Allow user to select the extension (file type) of the output.

2000-06-07 17:07  rtoy

	* src/f2cl5.l:

	date: 1999/06/30

	Make get-fun-arg-type handle more cases, including some of the Fortran
	built-in functions and the f2cl versions.

2000-06-07 17:06  rtoy

	* src/f2cl2.l:

	date: 1999/07/03

	lookup-array-bounds didn't work if the array was declared twice such
	as

	        real x
	        dimension x(10)

	The search would scan the whole *explicit_vble_decls* and sometimes
	set bounds incorrectly.

	Now, once we've found the entry, and the entry contains bounds, we
	stop.

2000-06-07 17:05  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	o  f2cl no longer requires an output file; it computes a name from the
	   input.
	o  Removed some unused code.

2000-06-07 17:02  rtoy

	* src/f2cl5.l:

	date: 1999/06/30

	Renamed a few more special variables.

2000-06-07 17:02  rtoy

	* src/f2cl2.l:

	date: 1999/07/03

	Didn't handle the case where the bounds list was NIL.

2000-06-07 17:00  rtoy

	* src/f2cl1.l:

	date: 1999/06/30

	*prune_labels* is a special variable that we need access to.

2000-06-07 16:57  rtoy

	* src/f2cl6.l:

	date: 1999/07/08

	Do case-insensitive string compares when we're looking for relational
	operators in REPLACE-STR.

2000-06-07 16:56  rtoy

	* src/f2cl5.l:

	date: 1999/06/30

	Renamed "keywords" to "*fortran-keywords*".

2000-06-07 16:56  rtoy

	* src/f2cl2.l:

	date: 1999/06/30

	When accessing arrays, if the lower bounds are all one, we can remove
	that from the fref, since the fref macro handles this already.  No
	effect on performance, but the code looks a bit simpler.

2000-06-07 16:54  rtoy

	* src/f2cl6.l:

	date: 1999/06/30

	o  Make preprocess use with-open-file.
	o  Change write-comment-line to print FOTRAN_COMMENT instead of
	   COMMENT, and print a bit better.

2000-06-07 16:52  rtoy

	* src/: f2cl5.l, f2cl1.l:

	date: 1999/06/30

	Renamed many special variables to includes *'s around the names so I
	can tell they're special.

2000-06-07 16:51  rtoy

	* src/f2cl2.l:

	date: 1999/06/30

	Removed some unused special variables.

2000-06-07 16:50  rtoy

	* src/f2cl1.l:

	date: 1999/06/29
	o Remove unused functions.
	o Allow the option of coercing the rhs of assignments to the lhs.

2000-06-07 16:34  rtoy

	* src/f2cl5.l:

	date: 1999/06/29

	Make determination of the parameter types of functions a little bit
	smarter by descending down the parameter lists.  (See get-fun-arg-type
	and friends.)

2000-06-07 16:32  rtoy

	* src/: f2cl2.l, f2cl6.l:

	date: 1999/06/30

	Removed unused code.

2000-06-07 16:31  rtoy

	* src/f2cl1.l:

	date: 1999/06/29

	Need to check the names of the function args for T and PI!

2000-06-07 16:27  rtoy

	* src/f2cl6.l:

	date: 1999/06/28

	For all peek-char's, change the recursive flag from T to NIL.  The
	current setting causes parse-number to fail with end-of-file errors
	when parsing simple numbers.  (Is this change the right thing to do?)

2000-06-07 16:26  rtoy

	* src/f2cl5.l:

	date: 1999/06/29

	Declare logical variables to be of type (member t nil) instead of just
	T.

2000-06-07 16:22  rtoy

	* src/f2cl2.l:

	date: 1999/06/30

	Renamed many special variables to includes *'s around the names so I
	can tell they're special.

2000-06-07 16:20  rtoy

	* src/f2cl1.l:

	date: 1999/06/29
	o Added *common-blocks*, *common-block-initialized*,
	  *relaxed-array-decls*.

	o Added :relaxed-array-decls to f2cl.  Clear the *common-blocks* hash
	  table.

	o Changes made to support putting variables in common blocks into a
	  structure, with appropriate initialization of the defstruct and
	  declaring a varialbe for the common block.

	o Modified parse-common to keep track of which variable goes with with
	  common block.

2000-06-07 16:15  rtoy

	* src/f2cl6.l:

	date: 1999/06/28

	Add code to handle tabs used to skip over the statement numbers.

2000-06-07 16:14  rtoy

	* src/f2cl5.l:

	date: 1999/06/29

	Many changes to support putting common blocks into a structure and
	declaring a variable to hold the actual contents of the common block.

2000-06-07 16:13  rtoy

	* src/f2cl2.l:

	date: 1999/06/29

	Added case for float instrinsic in id-factor.

2000-06-07 16:12  rtoy

	* src/f2cl1.l:

	date: 1999/06/29

	Handle array bounds that are "*".

2000-06-07 16:09  rtoy

	* src/: f2cl1.l, f2cl2.l, f2cl5.l, f2cl6.l, f2cl7.l:

	Date: 1997/07/31

	Lots of changes and bug fixes that I, unfortunately, did not keep
	track of.

2000-06-07 15:47  rtoy

	* build/install.txt, doc/f2cldoc.latex, src/f2cl0.l, src/f2cl1.l,
	  src/f2cl2.l, src/f2cl3.l, src/f2cl4.l, src/f2cl5.l, src/f2cl6.l,
	  src/f2cl7.l, src/macros.l, val/README, val/arithIFtest.for,
	  val/commontest.for, val/dbrent.for, val/dotest.for,
	  val/formattest.for, val/h03abf.for, val/jacobi.for,
	  val/kendl1.for, val/la05.for, val/mi10mach.for, val/mi50lp.for,
	  val/nars.for, val/rtflsp.for, val/rtnewt.for, val/savetest.for,
	  val/simpletest.for, val/solvde.for, val/stmtfntest.for,
	  val/subprogtest.for, val/test.out, val/twofft.for:

	Original version.

2000-06-07 15:37  rtoy

	* GNU-GPL, README:

	Original version.

2000-06-07 15:34  rtoy

	* Copyright:

	Original version.

