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)