ChangeLog
=========

This file contains a listing of modifications to libast in CVS on a
per-commit basis.  Dates are included, as are the names and userid's
of the people making the changes.

Contributors:

mej - Michael Jennings ("KainX") <mej@eterm.org>

----------------------------------------------------------------------
Thu Nov  9 19:09:48 PST 2000                    Michael Jennings (mej)

Added name- and version-setting functions since we can't just use
PACKAGE and VERSION any more.

----------------------------------------------------------------------
Thu Nov  9 19:19:31 PST 2000                    Michael Jennings (mej)

It usually helps if you finish writing the code BEFORE you commit it.

----------------------------------------------------------------------
Thu Nov 16 16:38:55 PST 2000                    Michael Jennings (mej)

Insure++ found a small logic error here that could result in a tiny
leak under certain circumstances.

----------------------------------------------------------------------
Tue Jan  2 18:22:25 PST 2001                    Michael Jennings (mej)

Added file.c for any file routines I write.  The first one is a secure
temp file generator.  If portability issues arise from non-POSIX
systems, they will be addressed here.

----------------------------------------------------------------------
Mon May  7 19:08:45 PDT 2001                    Michael Jennings (mej)

I have created a testbed for libast.  You can now run "make test" to
run a series of tests which will test some of the functionality of the
library.  I didn't finish all the tests I'll eventually have; I just
wanted to get the stuff that's immediately important.

I also added a new split() function, which functions somewhat like its
Perl counterpart, although there are differences.  This function will
be used in the remaining Eterm work I must do before release.

----------------------------------------------------------------------
Mon May  7 22:16:11 PDT 2001                    Michael Jennings (mej)

Moved chomp() to libast.  It's awfully handy.

----------------------------------------------------------------------
Tue May  8 19:51:51 PDT 2001                    Michael Jennings (mej)

Added two more convenience functions:  join(), also borrowed from
Perl, and free_array() for freeing lists.  I also threw in a USE_VAR()
macro for getting rid of bogus unused variable warnings.

----------------------------------------------------------------------
Wed May  9 17:20:46 PDT 2001                    Michael Jennings (mej)

Better handling of NULL values all around.

----------------------------------------------------------------------
Thu May 17 10:27:02 PDT 2001                    Michael Jennings (mej)

Fixed "make distcheck."

----------------------------------------------------------------------
Mon Jun 11 16:57:40 PDT 2001                    Michael Jennings (mej)

I moved the config file code from Eterm to libast.  I also relocated
some of the generic macros (MIN(), MAX(), BOUND(), etc.).  Version up
to 0.3 now.

----------------------------------------------------------------------
Fri Jun 15 16:50:54 PDT 2001                    Michael Jennings (mej)

Cleaned up spec file in preparation for release.

----------------------------------------------------------------------
Fri Jun 15 17:31:34 2001                        Michael Jennings (mej)

Converted the ChangeLog to Avalon's log format.  Yay! :-)
----------------------------------------------------------------------
Fri Jun 15 23:40:45 2001                        Michael Jennings (mej)

Moved the parsing of each config file line into a separate function.
You'll see why in a moment.
----------------------------------------------------------------------
Mon Jun 18 13:49:24 2001                        Michael Jennings (mej)

Oops.  ChangeLog entries were ending up in the bit-bucket.  Fixed and
re-synced. :)
----------------------------------------------------------------------
Fri Jun 29 10:02:34 2001                        Michael Jennings (mej)

I think we can call this finished.
----------------------------------------------------------------------
Mon Jul 23 18:01:37 2001                        Michael Jennings (mej)

Well that was dumb.  Comments are supposed to be *ignored*. :P
----------------------------------------------------------------------
Mon Jul 23 23:25:13 2001                        Michael Jennings (mej)

Damnit.  It was screwing up on blank lines too. >:I
----------------------------------------------------------------------
Sat Sep 22 09:24:41 2001                        Michael Jennings (mej)

Fixed a compilation issue on some systems where libX11 would not be
linked in with the test program.  This is libast 0.4.
----------------------------------------------------------------------
Mon Jan 21 18:02:20 2002                        Michael Jennings (mej)

Don't try this at home.  This package has been discombobulated by
trained professionals.
----------------------------------------------------------------------
Tue Feb 12 00:03:12 2002                        Michael Jennings (mej)

Please ignore the warnings during compile.  I didn't want to check
this in just yet, but I kinda broke Eterm and committed it. :(
----------------------------------------------------------------------
Tue Feb 12 00:23:36 2002                        Michael Jennings (mej)

...and then I came to my senses....  :-P
----------------------------------------------------------------------
Tue Feb 12 10:40:37 2002                        Michael Jennings (mej)

Still not fleshed out, but at least the warnings are gone. :-)
----------------------------------------------------------------------
Sun Feb 17 12:10:59 2002                        Michael Jennings (mej)

Hopefully now this will make more sense.  The string class is now
fleshed out...along with a complete set of unit tests. :)
----------------------------------------------------------------------
Mon Feb 18 21:54:25 2002                        Michael Jennings (mej)

Mmmmm...reusability. :-)
----------------------------------------------------------------------
Sun Mar  3 01:44:51 2002                        Michael Jennings (mej)

Added precision to the profiling stuff, and threw in the beginnings of
support for interface classes.
----------------------------------------------------------------------
Thu Apr  4 20:45:30 2002                        Michael Jennings (mej)

Lots of updates.  This should compile, but if it doesn't, don't blame
me.  (Well, blame me, just don't whine at me.) :-)

Also a bit of a design doc here...hopefully it will clarify some
things.
----------------------------------------------------------------------
Thu Apr  4 21:13:01 2002                        Michael Jennings (mej)

Re-indenting code.
----------------------------------------------------------------------
Thu Apr  4 22:24:36 2002                        Michael Jennings (mej)

Oops...
----------------------------------------------------------------------
Thu Apr 11 18:03:46 2002                        Michael Jennings (mej)

The list interface is complete (for now) as is its first
implementation:  the linked_list class.  Unit tests are also in.
----------------------------------------------------------------------
Thu Apr 11 18:15:11 2002                        Michael Jennings (mej)

Fix "make distcheck"
----------------------------------------------------------------------
Thu Apr 11 23:47:26 2002                        Michael Jennings (mej)

Not needed...
----------------------------------------------------------------------
Mon Apr 15 23:50:40 2002                        Michael Jennings (mej)

A doubly-linked list implementation of the list interface.
----------------------------------------------------------------------
Tue Apr 16 16:23:42 2002                        Michael Jennings (mej)

Another obvious list implementation...an array.
----------------------------------------------------------------------
Fri Apr 19 18:35:21 2002                        Michael Jennings (mej)

Working tokenizer.  The question is, how much do I need to add in the
way of flexibility....  Shell-style parsing?  Null-field support?
*ponders*
----------------------------------------------------------------------
Fri Apr 26 15:13:27 2002                        Michael Jennings (mej)

Working on some new stuff here, and just wanted to get this stuff in
in case my laptop croaks or something.  The new code doesn't work,
but at least it doesn't break the compile. :)
----------------------------------------------------------------------
Fri Apr 26 15:24:02 2002                        Michael Jennings (mej)

I spoke too soon....
----------------------------------------------------------------------
Mon Apr 29 15:25:01 2002                        Michael Jennings (mej)

The options parser seems to be working now.  It's fairly extensible
and fixes a lot of the problems with the old one.  It was rewritten
more or less from scratch.
----------------------------------------------------------------------
Tue Apr 30 22:17:27 2002                        Michael Jennings (mej)

I really should be more careful when creating test cases.  This
should fix the parsing of boolean options with values.
----------------------------------------------------------------------
Wed May  1 23:21:23 2002                        Michael Jennings (mej)

Fleshed out the URL class.
----------------------------------------------------------------------
Tue May  7 16:37:40 2002                        Michael Jennings (mej)

A few small bugfixes and some touchups.  Also work on the socket
object.
----------------------------------------------------------------------
Tue May 21 00:15:37 2002                        Michael Jennings (mej)

Fixed a number of memory leaks in both the testing code and the object
classes themselves.

Also rearranged some header stuff and created a few new helper macros
for object declarations.
----------------------------------------------------------------------
Wed May 22 00:16:31 2002                        Michael Jennings (mej)

Brought the performance tests up to date and cleaned up some memory
leaks in them.
----------------------------------------------------------------------
Wed May 22 08:59:38 2002                        Michael Jennings (mej)

Stupid typo.  Doing too much perl, I guess.  cpp uses "#elif," not
"#elsif."
----------------------------------------------------------------------
Sun May 26 22:37:43 2002                        Michael Jennings (mej)

Updated performance testing to be scaled.  The default is a quicker
performance test than before, but now we can also choose to run
anywhere from scratching the surface to a very thorough pounding.
----------------------------------------------------------------------
Sun Jun  9 14:16:38 2002                        Michael Jennings (mej)

Return on failed assert.
----------------------------------------------------------------------
Sat Jul 13 23:26:12 2002                        Michael Jennings (mej)

New function, version_compare(), which accurately compares package
version numbers.  Take a look at the various test cases to see what
kinds of comparisons it can accurately make, and if you see any that
aren't there, let me know.
----------------------------------------------------------------------
Fri Jul 26 00:12:25 2002                        Michael Jennings (mej)

Mmmm, sockets that connect. :)
----------------------------------------------------------------------
Fri Jul 26 16:52:40 2002                        Michael Jennings (mej)

More socket work.  Also, permit muting of error/warning messages by
supplying a NULL value for the program name.
----------------------------------------------------------------------
Tue Jul 30 17:34:38 2002                        Michael Jennings (mej)

Send/receive on the socket works now.  Also cleaned up the show method
for strings to eliminate the 4K length limit.

The current socket test will actually download the HTML for my home
page.  Uncomment the SPIF_SHOW() call in test_socket() to see it work.
----------------------------------------------------------------------
Wed Jul 31 17:49:17 2002                        Michael Jennings (mej)

Added the _reverse() and _to_array() routines to all 3 list classes
(finally).  Also added unit tests for those.

The tests for the socket code no longer download my home page.  Now,
I create a listening socket and a sending socket for a TCP/IP and a
UNIX socket.  Then I send/receive data across the socket and compare
what I received with what I sent.  Self-contained is better. :-)
----------------------------------------------------------------------
Sun Aug  4 20:11:38 2002                        Michael Jennings (mej)

Did a complete overhaul of the configure.in script.  Moved everything
to macros in libast.m4, which is now installed by the package.  That
will facilitate easier development of libast-based programs.

Also added the beginnings of a regexp class with support for PCRE,
POSIX-, and BSD-style regular expressions.
----------------------------------------------------------------------
Sun Aug  4 22:38:47 2002                        Michael Jennings (mej)

Apparently shared library building breaks if AC_PROG_CC isn't directly
in configure.in.... :(
----------------------------------------------------------------------
Sun Aug  4 22:47:33 2002                        Michael Jennings (mej)

Fix the cache variable name.
----------------------------------------------------------------------
Sat Aug 10 12:06:50 2002                        Michael Jennings (mej)

Undefined symbol fix.  Got overzealous with my s///.
----------------------------------------------------------------------
Tue Aug 13 21:38:04 2002                        Michael Jennings (mej)

Working implementation of a regular expression object which supports
(and abstracts) PCRE, POSIX, or BSD regular expression functionality.
Also fixed some bugs with the list code and the cpp stuff.
----------------------------------------------------------------------
Tue Aug 13 22:47:45 2002                        Michael Jennings (mej)

Oops, disable those old functions for now.
----------------------------------------------------------------------
Mon Aug 19 21:02:56 2002                        Michael Jennings (mej)

Added a macro to permit client apps a simple way to detect libast.
----------------------------------------------------------------------
Wed Sep 25 00:01:29 2002                        Michael Jennings (mej)

Patch from Kirby Kuehl <kkuehl@cisco.com> for compilation on FreeBSD.
----------------------------------------------------------------------
Mon Sep 30 11:53:59 2002                        Michael Jennings (mej)

Final commit for release of libast 0.5.
----------------------------------------------------------------------
Fri Oct 25 15:07:21 2002                        Michael Jennings (mej)

Patch from Darren Stuart Embry <dse@webonastick.com> to fix building
on Debian systems with ash installed.
----------------------------------------------------------------------
Tue Nov  5 14:57:46 2002                        Michael Jennings (mej)

Solaris fixes (I hope) thanks to Kevin Doherty <kdoherty@uu.net>.
----------------------------------------------------------------------
Mon Dec 30 17:49:43 2002                        Michael Jennings (mej)

I added a new interface, this one called a "vector."  The difference
between a vector and a list is that a vector, as the name implies, is
guaranteed to be "pointing in one direction," i.e. ordered.  This
interface should be used in preference to the "list" interface for
ordered lists, specifically where search speed is vastly more
important than insertion/deletion speed.

The array implementation is now doing double-duty, as it implements
both the list and the vector interfaces.

Most of an AVL tree implementation is included in this commit as well.
Brian Schenkenfelder <brians@nplus1.net> graciously offered me an AVL
tree implementation that he'd written awhile back, which I modified to
use the libast semantics.  Unfortunately, he never implemented the
removal code, so I'm hoping that some kind soul who has had a data
structures class more recently than I have will jump in and finish it
for me.  (*hint hint*)  :-)
----------------------------------------------------------------------
Mon Dec 30 18:10:42 2002                        Michael Jennings (mej)

Pass "make distcheck" please and thank you. :)
----------------------------------------------------------------------
Mon Dec 30 18:26:55 2002                        Michael Jennings (mej)

Update spec file.
----------------------------------------------------------------------
