The checksum on the old package corresponded to the 19990620 source,
whilst the package thought it was 19980211. Fix package name accordingly.
Unfortunately, there is no version number or date on the awk distfile,
so put the distfile in its own uniquely-named directory.
Just for the record, there are a number of bug fixes in the 19990620
source:
Jun 20, 1999:
added *bp in gettok in lex.c; appears possible to exit function
without terminating the string. thanks to russ cox.
Jun 2, 1999:
added function stdinit() to run to initialize files[] array,
in case stdin, etc., are not constants; some compilers care.
May 10, 1999:
replaced the ERROR ... FATAL, etc., macros with functions
based on vprintf, to avoid problems caused by overrunning
fixed-size errbuf array. thanks to ralph corderoy for the
impetus, and for pointing out a string termination bug in
qstring as well.
Apr 21, 1999:
fixed bug that caused occasional core dumps with commandline
variable with value ending in \. (thanks to nelson beebe for
the test case.)
Apr 16, 1999:
with code kindly provided by Bruce Lilly, awk now parses
/=/ and similar constructs more sensibly in more places.
Apr 5, 1999:
changed true/false to True/False in run.c to make it
easier to compile with C++. Added some casts on malloc
and realloc to be honest about casts; ditto. changed
ltype int to long in struct rrow to reduce some 64-bit
complaints; other changes scattered throughout for the
same purpose. thanks to Nelson Beebe for these portability
improvements.
removed some horrible pointer-int casting in b.c and elsewhere
by adding ptoi and itonp to localize the casts, which are
all benign. fixed one incipient bug that showed up on sgi
in 64-bit mode.
reset lineno for new source file; include filename in error
message. also fixed line number error in continuation lines.
(thanks to Nelson Beebe for both of these.)
Mar 24, 1999:
Nelson Beebe notes that irix 5.3 yacc dies with a bogus
error; use a newer version or switch to bison, since sgi
is unlikely to fix it.
Mar 5, 1999:
changed isnumber to is_number to avoid the problem caused by
versions of ctype.h that include the name isnumber.
distribution now includes a script for building on a Mac,
thanks to Dan Allen.
Feb 20, 1999:
fixed memory leaks in run.c (call) and tran.c (setfval).
thanks to Stephen Nutt for finding these and providing the fixes.
Jan 13, 1999:
replaced srand argument by (unsigned int) in run.c;
avoids problem on Mac and potentially on Unix & Windows.
thanks to Dan Allen.
added a few (int) casts to silence useless compiler warnings.
e.g., errorflag= in run.c jump().
added proctab.c to the bundle outout; one less thing
to have to compile out of the box.
added calls to _popen and _pclose to the win95 stub for
pipes (thanks to Steve Adams for this helpful suggestion).
seems to work, though properties are not well understood
by me, and it appears that under some circumstances the
pipe output is truncated. Be careful.
Oct 19, 1998:
fixed a couple of bugs in getrec: could fail to update $0
after a getline var; because inputFS wasn't initialized,
could split $0 on every character, a misleading diversion.
fixed caching bug in makedfa: LRU was actually removing
least often used.
thanks to ross ridge for finding these, and for providing
great bug reports.
For the Icon source code, this is primarily a maintenance release. The
code has been reworked and simplified to increase portability. An ANSI
C compiler is now required, and UNIX systems are expected to supply a
POSIX (1003.1-1988) library.
Version 9.3.2 adds one new feature:
The files in a directory can be listed by opening the directory as a
file. Subsequent reads return the names of the files contained in the
directory. The names are returned in no particular order, and for UNIX,
the directories "." and ".." are included.
* Access to GNU gdbm persistent hashtables (structures Gdbm, Polygdbm)
* Interface to the PostgreSQL database server (structure Postgres)
* Interface to the MySQL database server (structure Mysql)
* Interface to POSIX 1003.2 regular expressions (structure Regex)
* Interface to sockets (structure Socket)
* Faster bytecode execution (when compiled with GCC or egcs)
* Registration of ML and C functions simplify callbacks
Apparently the NetBSD patches were also pulled up.
Since the distfile on the original site was updated without
version indication, this also fixes kern/9783.
1.3.1 -> 1.3.2 Sep 1996
1) Numeric but not integer indices caused core dump in new array scheme.
Fixed bug and fired test division.
2) Added ferror() checks on writes.
3) Added some static storage specs to array.c to keep non-ansi
compilers happy.
1.3 -> 1.3.1 Sep 1996
Release to new ftp site ftp://ftp.whidbey.net.
1) Workaround for overflow exception in strtod, sunos5.5 solaris.
2) []...] and [^]...] put ] in a class (or not in a class) without
having to use back-slash escape.
1.2.2 -> 1.3 Jul 1996
Extensive redesign of array data structures to support large arrays and
fast access to arrays created with split. Many of the ideas in the
new design were inspired by reading "The Design and Implementation of
Dynamic Hashing Sets and Tables in Icon" by William Griswold and
Gregg Townsend, SPE 23,351-367.
Release - 0.77 - Saturday February 12th, 2000
* Added in directory SmallEiffel the new [2]install command class
install.e with a precompiled install.exe for Windows. This
install.e class is intended to install the SmallEiffel
distribution it comes with, and is designed to be as portable as
possible. This automatic installation program has already been
tested for Windows/lcc-win32, Windows/bcc32, Linux/gcc,
Solaris/gcc, DEC-Alpha/gcc and FreeBSD/gcc, ... To install
SmallEiffel under some UNIX like system, just type make in the
SmallEiffel directory. To install SmallEiffel under Windows, just
run install.exe. On other systems, C compile and run the install.c
file.
* Added C++ external support (creation of C++ objects, deletion of
C++ objects, member functions calls, static functions calls etc.).
See lib_show/external/C++ for examples.
* Added NUMBER library, for infinite precision and infinitely large
numbers. See lib_show/number for examples.
* Added ITERATOR library, for external iterators on data structures.
See lib_show/iterator for examples.
* Added class BIT_STRING for very large bit sequences, with
reference semantics.
* Added class BASIC_DIRECTORY and class DIRECTORY to handle in a
portable way directories as well as system path notations. See
lib_show/basic_directory for examples. This class is also
implemented for Java byte-code (command [3]compile_to_jvm).
* Added class BASIC_TIME, TIME_IN_FRENCH TIME_IN_ENGLISH and
TIME_IN_ITALIAN to handle date and time. See lib_show/basic_time
for examples. Low level routines for Java byte-code are not yet
implemented If you have some time to do this, you just have to add
the missing Java code in sys/runtime/SmallEiffelRuntime.java (do
not forget to post your work on the SmallEiffel mailing list).
* Features deep_clone and deep_equal of class GENERAL are now
implemented for the C compilation mode (does not work yet with
compile_to_jvm).
* Added feature skip_remainder_of_line and feature reach_and_skip in
class INPUT_STREAM. Warning: in order to be consistent with other
features, the behavior of features skip_separators and
skip_separators_using has changed.
* Added feature to_hexadecimal and feature to_hexadecimal_in in
class INTEGER.
* Improved incremental recompilation of the generated C code (also
fixed a very old bug in incrementality).
* Exceptions handling: the default_rescue feature is now supported.
* Various bug fixes and improvements (type inference score
increased).
-change -rdynamic cc flag to -Wl,--export-dynamic for correct operation on
ELF.
-add a patch to take care of some places where "#ifdef(__alpha__)" was used
for OSF dependent code.
-patch the configure script to not hard code DEC compilers for alpha's.
directory the program built in instead of trying to generate the system
name on our own. This ensures it always works (for example 1.4.2_ALPHA
confused this when done the old way)
shared and static (NOPIC). Works with ELF on -current now.
NOPIC and SunOS support may be broken; someone else with the necessary
resources should test and possibly fix these cases.