The Changelog of Tintin++ - 

4/24/94         Fixed logging so that all ^M's were removed before writing
		to the log.  This can be changed back to the origional
		type of logging, by modifying tintin.h (OLD_LOG).
		Changed: main.c, tintin.h  (JE)

4/24/94		Changed part of Dave's modification to session.c.  I
		have been getting messages (and experiencing myself), cores
		when you try to open a "sign" session, which shows a sign
		then closes the session.  Problem being though, for some
		reason, even though a pointer may exist of (char *), 
		and the length of the string is 0, free cores.  Being that
		Mem fixes like this can take a long time, I've fudged it for
		now, in that it won't free up pointers that have strlen's of
		less than 1.  
		Changed: session.c	(JE)

4/24/94		Fixed -v option and changed a couple of notification
                messages in action.c and alias.c, basically just making
		a couple more messages lower case and less annoying.
                Changed: action.c, alias.c, files.c (BR)


4/22/94		Fixed highlighting to make it backwards compatible, 1-32
		should now be valid fields for highlighting, there is
		a little more that can be done to speed up highlighting a
		bit.  Not critical, we'll see how this works.
		Changed: highlight.c (BR)


4/20/94		Nothing major, just re-wrote Dave's function declaration
		for his stop signal trapper.  Converted it to the convention
		we have been using since 1.2:
			<type> <funct_name>(name of args)
			    <type_arg1> <name of arg1>;
			    <type_arg2> <name of arg2>;
			    <type_arg3> <name of arg3>;
			{
			}
		Changed: main.c	(JE)

4/19/94		Minor plug to a memory leak in session_cleanup.  It
		never killed all the linked lists associated with
		actions, aliases, sub, highlights, etc, so I added
		that.  Also changed kill_all so that it deletes stuff
		from the path lists, too.  Also, kill_all was made to 
		remove lists completely if session was being killed
		(kill_all used to reinitialize the list.)  Now it only 
		initializes IF mode CLEAN is sent to kill_all.  If
		END is sent, then it removes and does not re-initialize
		the list.
		Changed: llist.c, session.c (DW/JE)

4/19/94		Bug fix to searchnode_list: it assumed that linked lists
		were in alphabetical order, but as this assumption is now
		invalid, the function needed a small change.  Files
		affected: llist.c.  Doesn't affect the speed of action
		matching on lines that come from the mud!! (JE/DW)

4/17/94		Bug fix to the wildcard matching in search_list_with_wild.
		#unaction {* foo} removed all actions, when it obviously
		shouldn't.  Also added backslash recognition to escape
		asterisks.  This change affects #action, #alias, #sub,
		and their corresponding #un commands.  [Maybe more.]
		llist.c, Makefile, .tt_help.tar.Z changed; glob.c added. (DW)

4/14/94		Quick fix to the session delete code to remove a minor
		memory leak.  session.c was the only file changed. (DW)

4/11/94		Added #tabadd and #tabdelete.  Adding of words to the tab
		completion list are done to the end of the list.  #tabdelete
		just searches the list for the word designated, and deletes it
		from the list.  Also corrected a bug that I found in my tablist
		routine.  The complete tablist wasn't being displayed.
		edited files: files.c, parse.c, misc.c  (JE)

4/10/94		Added #cr command.  Useful for sending carriage returns to
		different sessions.  You would do something like #grim {#cr}.
		main.c, parse.c, misc.c were edited..(JE)

4/9/94 		Ohh.. forgot to mention.. another new command is #killall.
		It'll nuke just about every list related to a session.  Now
		you don't have to exit tintin++ to load up a new set of 
		coms.  (JE)

4/8/94		Fixed the double-echoing bug that bit you when tintin++ was
		suspended and then resumed.  Added a SUSPEND command, which
		simply acts just as though you had typed control-z at the
		keyboard.  Anyone wanna test this thang on a SysV machine?
		I only have access to SunOS today, and god only knows if
		signal() and friends are compatible...

		Also added a fix to the way aliases and their parameters
		are expanded.  Brace grouping used to be ignored for aliases
		but now it has an effect.  Try these commands

			#alias foo {#showme $1; #showme $2; #showme $3}
			foo testing {testing 125}

		and compare between the new and old versions.

		Finally, I added #include <stdio.h> back into tintin.h.
		Who removed that?  Grr... :-)  The affected files were
		main.c, parse.c, tintin.h, and .tt_help.txt.Z. (DW)

4/1/94 		Made Tintin++ think by itself! (April Fools!!!  Sorry.. I 
		had to get that in :-)  Anyways, Here are the final changes
		for this revision.  First off, the Makefile has been
		completely re-written, adding to it clean and install. Also
		added was the TEXTIN command, and fixed it so that Jeremy's
		path commands worked (added PATHDIR).  A few more compilation
		bugs were removed, and some install scripts were written.
		Time to go BETA with this pup now. (JE) 

3/8/94		Made numberous bug fixes.  Eliminated the bug with #split and
		no argument.  Fixed #sys to work on most (if not all) system.
		The bug was, that the user would receive an alarm call and the
		user would still be at the prompt.  Hopefully, this is fixed.
		People using SGI machines and Linux please get back to me on
		this one.  You were the ones having the most problems.  #loop
		now accepts large numbers as well. 

		Added a new command called #info.  It allows the user to get
		some statistical information about their current session.

		Added a compiler option called -DDEBUG.  It turns all alarms
		off.  The tickcounter won't work, but hey.. You're not playing
		with this flag set.  It's so gdb will work properly. (JE) 
	
2/2/94          Rewrote insertlist_node in llist.c.  Added a mode switch to
                the parameters (as well as the additional priority field for
                the listnode).  Mode PRIORITY will insert the node onto the
                list according to the priority the node was given (0 highest
                pritority, 9 lowest).  Mode ALPHA will insert nodes
                alphabetically.  Thinking was that if the node appears
                closer to the head of the list, the action would react sooner.
                All inserts were changed throughout the code.

                Rewrote searchnode_list_begin in llist.c as well, to take care
                of searches based on priority or alphabetically stored lists.
                All searchs were modified throughout the code.

                Added #retab, which allows the user to re-load tab.txt.  All
                I do is just make another call to read_complete().  Rather
                simple and effective.

                Added #tablist, which will display all the words in the
                tab completion list. (in order from beginning to end).

                Modified help.txt to accomodate the changes I've made as of
                now.  Once all changes are complete, I'll re-modify help.txt
		(JE)

1/24/94		Moved the ignore variable to the session struct.  Now
		the #ignore command is isolated within a session.  (i.e.
		you can have one session ignored, and one session not)
		The default is now set to DEFAULT_IGNORE in new_session. (JCJ)

1/19/94		Rewrote path.c to take a different set up.  Rewritten to
		a link list structure.  Added #pathdir command.  Upped
		mesvar to size 7 with mesvar[6] being #pathdir.  Wrote
		fixed array style linked list as well, but not
		implemented.  Added addnode_list to file.c to add a node
		to the end of a list (not in lexicographical order as
		insertnode_list does).  Implemented pathdir using the
		listnode struct, but it does not use the char *right.
		This can be improved.  Perhaps with the completenode
		struct. (JCJ)

1/10/94		Rewrote the highlight parse functions to a) not use the
		ends and tails, b) use the color names instead of the
		numbers, c) allow multiple types to the first arg. (JCJ)