##################################
This is the ChangeLog file of FUDGIT
##################################

This file was started from version 1.42. Previous changes are
various, including global grammar changes.

%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Version 1.43

- Creation of ChangeLog file;
- Addition of `version' function;
- Debugging levels rewritten;
- Grammar changed to consider VEC and PARAM assignments as
    statements rather than being consider as themselves.
    This allows to include such assignments in functions,
    procedures, and loops.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 1.44

- Fixed a bug in show macro.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 1.50

- Grammar changed to allow printing by specifying
    values as in calculator mode from within a statement;
- Colon separated statements allowed from within statements;
- Fixed division errors to respond to Infinity checks only;
- Included cubic spline interpolation.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.00

- Experimental version changing the cmode procedure and function grammar.
    Arguments are now prototypes and functions and procedures
    can thus accept VECTORS and Strings;
- Fixed a bug not allowing empty lines in cmode stmtlists.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.01

- Inclusion of auto variables anywhere after braces in cmode.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.02

- Few grammar modifications giving more freedom to the user
    (e.g. returning a vector as an expression in a user-defined
    function used in a vector assignment).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.03

- Fixed a bug in cmode returning functions;
- Addition of min(x, y) and max(x, y) built-in math functions;
- Implementation of .ft extension: previous scripts should be renamed!
    Compatible with previous versions.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.10

- Implementation of smooth command;
- Change of fft and invfft syntax for more freedom on choosing
    output vectors;
- Fixed fmode var-expansion which was neglecting bltin variables
    and constants;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.11

- Added Cwd built-in String constant;
- Made the .ft extension a suggestion rather than in the code.
    However, the program can be compiled with this option by
    setting the EXTENSION variable in fudgit.h. The problem
    remains to load .fudgitrc a second time in a session.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.12

- Fixed a bug in multiple string additions.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.13

- Grammar changed to allow C-like constructions of if, while, for. So
    constructions like

    if (condition)
        code; code
    else
        code; code; code
    
    are now legal. Semicolons ';' can now only separate statements, and
    not terminate them. (It leads to tons of shift/reduce conflicts
    otherwise.) Empty statements are '{ }' defined by empty braces;
- Removed one too many pre-iteration in Marquardt-Levenberg fit;
- Fixed a little bug making vector loop error report after vector
    interruption.
    
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.14

- Fixed the HPUX version having a mistake on getcwd;
- Thanks to comments from Ronald Aarts <ronald@lowt.phys.tue.nl>
    function str_l changed for "straight" for consistency
    (with the manual).
    show parameters, function, and method now show full names.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.15

- Fixed a bug on AIX => they are sysV signals;
- Fixed bugs in show parameters when extra arguments given on AIX;
- Added a warning if readline cannot find a terminal entry.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.17

- Added built-in function sum(X), summing the elements of a vector;
- Thanks to comments from Ronald Aarts <ronald@lowt.phys.tue.nl>,
    AIX problem with SIGCHLD signal-wait loop fixed;
- Undefined PAGER environment variable before calling plotting program
    so that stdin does not get cought by a pager. This is a patch
    to fix a more general bug: a pseudo terminal should perhaps be
    used for the plotting program, but this would require real time
    parsing for variable expansion...
    Thanks to Timothy L. D. Collins <kaph6@central.sussex.ac.uk> for
    comments.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.18

- Thanks to Hermen Pen <hermen@sci.kun.nl>, fixed fft on SunOS.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.20

- First version allowing dynamic loading. Module functions
    or procedures can thus be loaded in the lookup table.
    This option is only available on IRIX (so far);
- All source files were tediously rewritten (actually tedious^3) to
    prevent function names to overlap. The design has been changed to
    hide (static) irrelevant functions and rename (prepending Ft_)
    global functions;
- Change history command to load and save history between successive
    sessions;
- Output of history command now piped in Pager;
- Output of show table modified to list the argument types of user-defined
    (possibly external) functions and procedures.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.21

- Included a FORTRAN example in the distribution. The vector pointers
    passed to external objects are now pointing to the first
    object in order to allow FORTRAN calls.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.22

- Fixed bug in loading, some doc changes.
    Thanks to Paul Raines <raines@bohr.physics.upenn.edu> for
    constructive remarks.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.23

- Fixed bugs in fft.ft, and some non standard statements.
    Thanks to Paolo Petta <paolo@oefai.ai.univie.ac.at>.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.24

- This version includes support for dynamic loading on SUNOS
    and ULTRIX (only vax, and it has not been tested); 
- A new command `reinstall' was necessary to deal with the better
    incremental linking done by dld.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.25

- The first full ANSI version: a step towards C++. Some
    inconsistencies were removed in the conversion process;
- First port to NeXT, mallinfo(3) not supported on it;
- Implemetation of 'set input' for Read() and a new function
    reading variables 'vread()' from any file;
- Fixed a bug on cd function on NeXT and ULTRIX.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.26

- Fixes a bug in NeXT crashing on strcpy(0, 0);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.27

- Port to linux made by Thomas Koenig <ig25@rz.uni-karlsruhe.de>
    Thanks a lot Thomas!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.28

- Port to HPUX 8.07. Thanks to Ian Graham for his constant efforts
    and giving me access to his HP account.
- A bug was fixed in signals: suspending and fg was killing the program.
- Part of the lexical analyser was modified in order to leave quotes
    while used in aliases.
    This allows doing:
    fudgit> alias title pmode set title
       and then type
    fudgit> title "This is a title"

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.29

- Port to Data General made by Matthias Stenzel <stenzel@infpav4.kfk.de>
    Thanks Matthias!
- Change made to load "-" which closed stdin after ^D;
- Parts of 'foreach' and 'pmode' were rewritten to get rid of
    a "nonlinear-unpredictable" behavior of popen-signal.
    The plot.c file was rewritten to use non-buffered I/O
    and get rid of reaping the plotting child.
- Thanks to Michael Kenneth McGaugh <gt1610c@prism.gatech.edu>
    for a lot of constructive remarks on many points. Among
    other things, his advices resulted in a restructuration
    of the Makefiles, and in some of the modifications
    mentioned in the previous point. (system(3) looking for
    his own child on SunOS).
- Also thanks to:
    Roberto Dominijanni <roberto@banach.nusc.navy.mil>,
    Tuan (T.) Doan <tdoan@bnr.ca>,
    Al Wells <taw@fred.nfuel.com>
    for useful comments. 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.30

- Added a reaper to the dead plotting programs. A dead plotting
    program is now an error while in a loop.
- Made a few changes in the Makefiles. Dynamic loading is now optional.
- Fixed a few errors in SunOS 4.x makefile.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.31

- Fixed a bug in readline on file name completion;
- Fixed a bug in command.c closing stdout on show vectors < 24;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.32

- Removed the 'feature' of READLINE allowing to edit history;
- Redefined 'unix' macro not supported by some ANSI compilers;
- Included a different process group for the plotting program fixing
    exit on all SIGINT's;
- Fixed VI MODE on strict ANSI compilers. Don't forget to have:
set editing-mode vi
    in your ~/.inputrc file to have VI working.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.33

- Fixed a bug in set samples after reading a too large file;
- Fixed an unexpected Cwd behavior when cd was part of a macro;
- Changed the default upper limit on read/exec line numbers;
- Fixed a bug in ultrix POSIX sepgid();
- Added a stat() check before forking the plotting program;
- Added an optional skip factor to read/exec.
- Port to 386bsd made by Michael Diehl 
    <michael@osmium.theochem.uni-duesseldorf.de>. Danke Michael!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.34
- Port to SYSVR4 made by Glenn Geers <glenn@physics.su.oz.au>.
	Thank a lot Glenn!
- Change to Ft_matherrorr() documented.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.35
- Port to vms done by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>
 (vielen Dank Klaus).
- Fixed bug in parsing 1E+1. Thanks to Hendrik G. Seliger
	<hank@automat.uni-essen.de>.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version 2.40-1
- Modified if's grammar. (read doc)
- Fixed a problem with trailing empty lines in macros.
- Upgraded to latest readline.  This allows
	linux port to dynamically link to libreadline.
- Thanks to Andreas Buykx <andreas@elmat01.et.tudelft.nl> for
	most of these changes.
- Modified read to assign vectors by order as default. (e.g. read file X Y)
- Modified read to break or continue on out of range data (see doc).
- Some modifications to VMS port from Klaus Reimann.
- Repaired signal handling while in shell commands and exec.
_ Installed a child reaper.
- Some modifications to examples still from Klaus.
- Made linux port to use dynamic loading (using dl-dld).
	I couldn't get it to work though. Some volunteers?
- Fixed little bug with continuation '\' on an empty line.
- Finally cleaned the Makefiles (with a lot of help from Klaus)!
- Installed -n option to echo.
- Variable names can legally start with an underscore.
- Made "save vector" to accept range as read does.
- Included Lorentzian nonlinear fitting. Thanks to Dirk Haeger
	<haeger@up2u02.gwdg.de> for the patches.
- Null iteration does nothing in ML fitting.
- Port to solaris 2.3 from David Robinson <drtr@mail.ast.cam.ac.uk>. 
	Thanks David.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Version ?.?? 

Under development:
- Inclusion of basic matrix/grid algebra;
- Merging the fmode to the cmode -> moving towards a more
    consistent language;
- Integer and double will be supported;
- Individual length for vectors -> resizable;

    Submit any request/suggestion to me.

