[TAG release-2.2.3 clinton@unknownlamer.org**20081113004437] < [Update ancillary documentation for release clinton@unknownlamer.org**20081113004416] [Cleaned up examples and scripts clinton@unknownlamer.org**20081113004349 * Config example is in examples/config now * Example scripts are in examples/scripts instead of interspersed with the installed bobot++ modules * Removed broken and crappy example ] [Fixed --disable-scripting build clinton@unknownlamer.org**20081112211907 * Fixed some unprefixed cstdlib calls (hidden by libguile.h including stdlib.h) * Fixed unincluded sys/types.h (also hidden by libguile.h including this) * make install attempted to create /bobotpp directory when @GUILE_SITE@ was unset; now script installation is conditional on scripting being enabled as it ought to be ] [Remove cruft from configure.ac clinton@unknownlamer.org**20081112211607] [Build system cleanups clinton@unknownlamer.org**20081112203714 * Renamed doc to documentation and moved infotex manual there * Moved contents of acinclude.m4 to m4/bobot.m4 * Imported guile.m4 so as to not rely on Guile being installed to build * Removed acinclude.m4 as it is no longer needed with proper ACLOCAL_AMFLAGS ] [Remove last GH header reference clinton@unknownlamer.org**20081111232411] [Update all deprecated/discouraged Guile calls clinton@unknownlamer.org**20081111203422 * No longer use GH (removed entirely in Guile 1.9) * Update to more modern API (breaks Guile 1.6) ] [Bump version to 2.2.3 and update copyright notice clinton@unknownlamer.org**20081111200723] [Remove SCRIPTING from EXTRA_DIST clinton@unknownlamer.org**20081111092540] [Remove obsolete documentation clinton@unknownlamer.org**20081111092312] [Remove tailor import cruft clinton@unknownlamer.org**20081111092305] [Remove autogenerated files clinton@unknownlamer.org**20081111092257] [Properly include guile.m4 clinton@unknownlamer.org**20081111092043 Now works when guile.m4 is in a nonstandard location passed to aclocal via -I ] [[project @ 2008-11-11 08:47:34 by unknown_lamer] unknown_lamer**20081111084734 2008-11-11 Clinton Ebadi * source/Parser.C: GCC 4.x compilation fixes * source/ShitList.C: GCC 4.x compilation fixes * source/String.C: GCC 4.x compilation fixes * source/UserCommands.C: GCC 4.x compilation fixes * source/Channel.C: GCC 4.x compilation fixes 2007-11-08 Clinton Ebadi * configure.ac (LDFLAGS): Append GUILE_LDFLAGS to fix non-standard location builds (CXXFLAGS): Append GUILE_CFLAGS to fix non-standard location builds * guile.m4: Import guile.m4 (included in source tree since it doesn't change often and this will allow building on machines lacking a guile installation) * acinclude.m4: Fix underquoted AC_CPP macros Include guile.m4 rather than copying here 2007-10-05 Clinton Ebadi * source/Main.C (real_main): scm_eval_string debug initialization instead of setting the flags directly as they are no longer public in Guile 1.9.x ] [[project @ 2006-06-29 02:01:20 by unknown_lamer] unknown_lamer**20060629020120 scripts/uname: redelim -> rdelim ] [[project @ 2006-06-29 00:17:49 by unknown_lamer] unknown_lamer**20060629001749 - No longer segfaults when loading bobot-utils.scm - bot:match-to-me produces a valid regexp again ] [[project @ 2006-06-28 19:24:36 by unknown_lamer] unknown_lamer**20060628192436 - If the log directory does not exist the bot creates it - If there are lines with only whitespace on them in the config file and error message is no longer printed to the log - Released 2.2.1 ] [[project @ 2006-05-30 17:22:56 by unknown_lamer] unknown_lamer**20060530172256 Released 2.2.0 ] [[project @ 2006-02-03 22:36:01 by unknown_lamer] unknown_lamer**20060203223601 Actually fix issue with loading bobot-util.scm ] [[project @ 2006-02-03 22:26:38 by unknown_lamer] unknown_lamer**20060203222638 Undo the last commit ] [[project @ 2006-02-03 22:08:15 by unknown_lamer] unknown_lamer**20060203220815 Moved Interp::Startup call to after the Bot is created ] [[project @ 2006-02-03 22:06:08 by unknown_lamer] unknown_lamer**20060203220608 Initialize Interp after creating the bot to avoid a segfault when accessing the bot in a startup script. ] [[project @ 2005-09-12 21:46:06 by unknown_lamer] unknown_lamer**20050912214607 Documentation updates ] [[project @ 2005-07-21 21:13:28 by unknown_lamer] unknown_lamer**20050721211329 texinfo reformatting ] [[project @ 2005-07-07 23:51:52 by unknown_lamer] unknown_lamer**20050707235152 Doc updates ] [[project @ 2005-07-07 23:24:24 by unknown_lamer] unknown_lamer**20050707232424 Merged doc patch ] [[project @ 2005-07-07 22:38:16 by unknown_lamer] unknown_lamer**20050707223817 More documentation updates ] [[project @ 2005-07-07 21:19:26 by unknown_lamer] unknown_lamer**20050707211926 Added bot:shit/ constants to Scheme, more documentation updates. ] [[project @ 2005-07-06 19:32:18 by unknown_lamer] unknown_lamer**20050706193219 Added bot:who and bot:whois functions ] [[project @ 2005-07-05 18:48:49 by unknown_lamer] unknown_lamer**20050705184850 Renamed bot:send-ctcp and bot:send-ctcp-reply to bot:ctcp and bot:ctcp-reply ] [[project @ 2005-07-05 07:24:59 by unknown_lamer] unknown_lamer**20050705072459 Documentation updates, a small update to bobot-utils ] [[project @ 2005-07-04 21:44:00 by unknown_lamer] unknown_lamer**20050704214401 More documentation work ] [[project @ 2005-07-04 08:15:08 by unknown_lamer] unknown_lamer**20050704081508 hooks/dcc/chat-end is now called when a chat is killed for being idle, and when a chat is closed by the user on the other end. It was also documented. ] [[project @ 2005-07-04 01:48:38 by unknown_lamer] unknown_lamer**20050704014838 Big documentation enhancements. All hooks are now documented. Changed hooks/send/message to match dest and pass dest to send hook. Changed hooks/signoff to take a second argument (intentional flag). A few source cleanups (lazy catch handlers are now methods of the Interp class). ] [[project @ 2005-06-30 02:51:27 by unknown_lamer] unknown_lamer**20050630025127 Tiny speedup in Socket code. ] [[project @ 2005-06-29 20:20:59 by unknown_lamer] unknown_lamer**20050629202059 Update version to 2.1.9CVS ] [[project @ 2005-06-29 20:19:45 by unknown_lamer] unknown_lamer**20050629201945 Fixed --disable-scripting build and release 2.1.8 ] [[project @ 2005-06-29 19:55:31 by unknown_lamer] unknown_lamer**20050629195531 More minor doc edits ] [[project @ 2005-06-29 17:35:54 by unknown_lamer] unknown_lamer**20050629173554 Minor documentation edits ] [[project @ 2005-06-28 11:23:50 by unknown_lamer] unknown_lamer**20050628112352 Added --debug-scripts command line option ] [[project @ 2005-06-28 10:57:28 by unknown_lamer] unknown_lamer**20050628105728 Pass from->getNick () instead of from->getAddress () to hooks/action ] [[project @ 2005-06-28 10:08:45 by unknown_lamer] unknown_lamer**20050628100845 Merged error handling patch from Dale Smith ] [[project @ 2005-06-28 09:54:46 by unknown_lamer] unknown_lamer**20050628095446 Implemented Commands::CTCP and Commands::CTCPReply (for sending CTCP messages), updated the Parser and ScriptCommands to use them. Added and documented bot:send-ctcp-reply. ] [[project @ 2005-06-28 03:16:45 by unknown_lamer] unknown_lamer**20050628031645 + NOTICEs and PRIVMSGs are now sent correctly if they contain an embedded newline + Max nick length is now configurable via 'maxnicklength' option in bot.conf (defaults to 9) + A few internal cleanups ] [[project @ 2005-06-25 18:11:10 by unknown_lamer] unknown_lamer**20050625181110 Guile's debugging evaluator is now enabled when --debug is used ] [[project @ 2005-06-24 22:10:09 by unknown_lamer] unknown_lamer**20050624221009 Updated FSF street address ] [[project @ 2005-06-24 18:59:07 by unknown_lamer] unknown_lamer**20050624185907 bot:msg and bot:say are the same thing now ] [[project @ 2005-06-24 06:13:45 by unknown_lamer] unknown_lamer**20050624061345 bot:msg can now send messages to channels. bot:notice returns more detailed error codes (that still can't be used without knowledge of the C++, this will be fixed soon) ] [[project @ 2005-06-23 22:59:18 by unknown_lamer] unknown_lamer**20050623225918 Made (bobotpp bot) actually work ] [[project @ 2005-06-23 21:10:18 by unknown_lamer] unknown_lamer**20050623211018 Added scripts/bot.scm which exports the bobot++ interface to other modules ] [[project @ 2005-06-23 18:49:38 by unknown_lamer] unknown_lamer**20050623184939 bot:notice has been implemented. Commands::Notice will now send a notice to a channel. bot:notice was documented. Message macros were moved around. ] [[project @ 2005-06-23 18:11:08 by unknown_lamer] unknown_lamer**20050623181108 hooks/timer argument is now zero padded instead of space padded ] [[project @ 2005-06-23 06:56:20 by unknown_lamer] unknown_lamer**20050623065620 Minor documentation edits ] [[project @ 2005-06-23 06:43:12 by unknown_lamer] unknown_lamer**20050623064312 Call hooks/disconnect when disconnected from a server. ] [[project @ 2005-06-23 06:20:44 by unknown_lamer] unknown_lamer**20050623062044 Added dsmith's documentation patch. I'll hack on more documentation soon, I promise :-) ] [[project @ 2005-06-07 12:52:52 by unknown_lamer] unknown_lamer**20050607125255 Fixed the scripts and texinfo file ] [[project @ 2005-06-01 19:11:13 by unknown_lamer] unknown_lamer**20050601191113 Fixed texinfo file (make ps/pdf/dvi works now) ] [[project @ 2005-06-01 11:12:41 by unknown_lamer] unknown_lamer**20050601111241 Added bot:protection/[none|ban|kick|deop] and bot:aop/[yes|no] constants to the Scheme scripting interface ] [[project @ 2005-06-01 00:27:44 by unknown_lamer] unknown_lamer**20050601002744 Fixed bug in Parser that would put two entries for the bot into the userlist, fixed the formatting of a few files, and replaced some Strings with std::strings ] [[project @ 2005-05-31 05:59:57 by unknown_lamer] unknown_lamer**20050531055958 Fixed all warnings and a few rarely triggered bugs ] [[project @ 2005-03-11 17:58:13 by unknown_lamer] unknown_lamer**20050311175813 Released 2.1.6, changed version to 2.1.7CVS ] [[project @ 2005-03-01 03:18:40 by unknown_lamer] unknown_lamer**20050301031840 Fixed a potential segfault in the Parser 2005-02-28 Clinton Ebadi * source/Parser.C (parseLine): use map<>::find and an iterator to find the IRC command instead of map<>::operator[] to avoid a potential segfault * source/Bot.C (waitForInput): Removed commented out code ] [[project @ 2005-02-28 23:43:20 by unknown_lamer] unknown_lamer**20050228234320 This should fix a few issues with String handling 2005-02-28 Clinton Ebadi * source/Socket.C (readLine): return String (buf.c_str ()) instead of String (buf) so that only the buffer up to the first null is returned (readLine): Added a comment explaining the usage of buf (readLine): Changed type of length (std::string::size_type instead of std::size_t) * source/String.C: Reimplemented String on top of std::string to fix a few bugs and potential memory leaks (toLower): use Utils::to_lower (toUpper): Use Utils::to_upper (trim): Use Utils::trim_str * source/String.H: removed srep, replaced it with a std::string (my_string) ] [[project @ 2005-02-28 05:50:12 by unknown_lamer] unknown_lamer**20050228055012 Re-added String.C and String.H ] [[project @ 2005-02-28 05:49:38 by unknown_lamer] unknown_lamer**20050228054938 Removed String.[CH] (they'll be back in a sec, I hit a bad cvs command and now it won't stop bitching) ] [[project @ 2005-02-28 05:48:26 by unknown_lamer] unknown_lamer**20050228054826 2005-02-28 Clinton Ebadi * source/Utils.C (to_upper): Applied patch from Jos Hulzink (trim_str): Appled patch from Jos Hulzink (fixes counters and substr call) * source/StringTokenizer.C (next_token): Applied patch from Jos Hulzink (fixes substr call) (rest): Applied patch from Jos Hulzink (fixes substr call) 2005-02-27 Clinton Ebadi * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because he is a lazy bum and never submitted the String replacing patch ] [[project @ 2005-01-13 20:07:01 by unknown_lamer] unknown_lamer**20050113200701 Utils is now a namespace instead of a class ] [[project @ 2005-01-12 22:44:37 by unknown_lamer] unknown_lamer**20050112224437 Removed debug messages from BotConfig ] [[project @ 2005-01-12 22:40:22 by unknown_lamer] unknown_lamer**20050112224022 Fixed a segfault in BotConfig (call watchers was in the wrong place), fixed trim of last non-space char from a string in Utils::trim_str ] [[project @ 2005-01-12 06:01:01 by unknown_lamer] unknown_lamer**20050112060101 BotConfig fully implemented, set_config_value that takes one t_value instead of a t_value_list has been added for convinience ] [[project @ 2005-01-12 05:36:40 by unknown_lamer] unknown_lamer**20050112053640 String removal phase 1: added trim, toLower, toUpper, and long2str to Utils. Converted StringTokenizer to use std::string internally. Did the same to Utils. Converted both to use _'s between tokens instead of CamelCase (because we all know that CamelCase is unreadable...). BotConfig is 99% done (just have to fix read_config). Fixed a potential but extremely unlikely buffer overflow. ] [[project @ 2005-01-08 06:24:08 by unknown_lamer] unknown_lamer**20050108062408 Updating README (easier to read), added configure.ac test for CommonC++2 (which will soon replace Socket and StringTokenizer) ] [[project @ 2005-01-07 18:19:38 by unknown_lamer] unknown_lamer**20050107181938 Call watchers from BotConfig::set_watcher_list (BotConfig is almost done) ] [[project @ 2005-01-06 18:19:16 by unknown_lamer] unknown_lamer**20050106181916 Misc. bug fixes, documentation updates, and part of the new config system. It compiles at least; the rest of the config system will be added soonish. ] [[project @ 2004-06-14 04:26:29 by unknown_lamer] unknown_lamer**20040614042629 Fixed a typo in README, disabled DCC CHAT for users below level 3 (FRIEND), and worked on the manual. ] [[project @ 2004-06-13 02:04:44 by unknown_lamer] unknown_lamer**20040613020451 s/ctcp-quote/bot:ctcp-quote/ ] [[project @ 2004-06-13 02:03:43 by unknown_lamer] unknown_lamer**20040613020344 Wrote most of the configuration section of the manual and implemented bot:ctcp-quote in bobot-utils.scm ] [[project @ 2004-05-12 15:19:06 by unknown_lamer] unknown_lamer**20040512151907 2004-05-12 Clinton Ebadi * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the constructor with `n' This should fix the segfaulting. ] [[project @ 2004-04-28 03:33:52 by unknown_lamer] unknown_lamer**20040428033352 Huge Update, see the ChangeLog ] [[project @ 2003-07-23 05:56:23 by unknown_lamer] unknown_lamer**20030723055623 * source/Parser.C (parseMessage): use the find method of std::map to find the command to call instead of [] and then extract the pointer to the userFunction from that if it exists. This appears to fix the crash when one uses an undefined command followed by any defined command. ] [[project @ 2003-04-10 01:53:57 by unknown_lamer] unknown_lamer**20030410015357 Added support for overriding the flood rate ] [[project @ 2003-04-04 02:50:56 by unknown_lamer] unknown_lamer**20030404025056 Updated NEWS. 2.1.2 is being released now (finally). ] [[project @ 2003-04-04 02:49:43 by unknown_lamer] unknown_lamer**20030404024943 Added a new script and updated the example configuration ] [[project @ 2003-04-04 02:43:18 by unknown_lamer] unknown_lamer**20030404024318 Replaced the old example bot with a new one that uses some of the new features of Bobot++ ] [[project @ 2003-04-04 02:42:05 by unknown_lamer] unknown_lamer**20030404024205 Removed some files. ] [[project @ 2003-04-03 03:37:06 by unknown_lamer] unknown_lamer**20030403033706 2003-04-02 Clinton Ebadi * scripts/bobot-utils.scm: Make exported symbols from the-bot-module available in the guile-user module so that scripts loaded with Interp::Load function. 2003-03-30 Clinton Ebadi * scripts/bobot-utils.scm (bot:load-module): Loads a file from the %bot:loadpath into its own module and returns that (unnamed) module (bot:use-module): Calls bot:load-module and then adds the newly loaded module to the (current-module)'s use-list * source/Interp.C (interp_init_helper): New procedure to initialize the-bot-module (this is the old Interp::Startup verbatim) (interp_post_startup_helper): New procedure to export the-bot-module from bot_module (Startup): Now calls interp_init_helper and interp_post_startup_helper to initalize the bot module system * source/Interp.H: Added private variable bot_module to Interp ] [[project @ 2002-11-04 23:46:59 by unknown_lamer] unknown_lamer**20021104234659 Eeep, I forgot that bobot-utils.scm hasn't been generated from the .in file in a long time. Re-adding file. ] [[project @ 2002-11-04 23:42:01 by unknown_lamer] unknown_lamer**20021104234201 Removed scripts/bobot-utils.scm (since it is generated from bobot-utils.scm.in), added bot: prefix to match-to-me and match-not-channel ] [[project @ 2002-11-04 04:54:14 by unknown_lamer] unknown_lamer**20021104045414 Guh, so I suck. Now it builds. I mean it. No more commits tonight unless I'm a completel idiot (then again, I have four minutes left in today). ] [[project @ 2002-11-04 04:40:27 by unknown_lamer] unknown_lamer**20021104044027 !@#$ I deleted config.h.in. Fixed, now the bot should compile. ] [[project @ 2002-11-04 04:39:28 by unknown_lamer] unknown_lamer**20021104043928 Ok, last commit for the night. I fixed some configure.ac stuff and now autoheader can run, so now config.h.in is an empty file and the bot bootstraps. ] [[project @ 2002-11-04 04:15:46 by unknown_lamer] unknown_lamer**20021104041546 Added boostrap and fixed README.CVS. It turns out autoreconf doesn't work for some reason, so I'll just use a bootstrap script like the Autotools book suggests. ] [[project @ 2002-11-04 04:03:32 by unknown_lamer] unknown_lamer**20021104040333 Removed automatically generated files ] [[project @ 2002-11-04 03:59:06 by unknown_lamer] unknown_lamer**20021104035906 Added README.CVS for bootstrapping the cvs tree ] [[project @ 2002-11-04 03:50:19 by unknown_lamer] unknown_lamer**20021104035019 make distclean (cleaning up sources) ] [[project @ 2002-11-03 22:59:05 by unknown_lamer] unknown_lamer**20021103225905 Added scripts/Makefile.in (I'll delete all of the autogenerated stuff eventually and add an build script like the one in the autotools book) ] [[project @ 2002-11-03 22:42:59 by unknown_lamer] unknown_lamer**20021103224259 Made Mask::match case insensitive ] [[project @ 2002-09-24 02:10:40 by unknown_lamer] unknown_lamer**20020924021040 Fixed a stupid bug where I grabbed a mutex I shouldn't and it killed the bot. The bot works again now. ] [[project @ 2002-08-18 21:34:24 by unknown_lamer] unknown_lamer**20020818213424 Oops! I registered bot:DCC-chat-send when I meant bot:dcc-chat-send. 30 second fix. ] [[project @ 2002-08-18 21:32:48 by unknown_lamer] unknown_lamer**20020818213249 You can now talk to the bot using bot:dcc-chat-send ] [[project @ 2002-08-08 15:21:08 by unknown_lamer] unknown_lamer**20020808152108 Fixed a bug in String, and added a new class, DCCManager, for managing DCC Connections (ugh, it seems a bit kludgey, but I am working on some big changes to how the bot works right now...). Probably some other changes I forgot about. ] [[project @ 2002-08-06 20:51:03 by unknown_lamer] unknown_lamer**20020806205103 Oops! I forgot to commit BUGS and scripts/Makefile.am! Fixed. ] [[project @ 2002-08-06 20:48:44 by unknown_lamer] unknown_lamer**20020806204844 DCC Chat now "works." It doesn't do anything useful, but you can /dcc chat the bot and talk at it. I will add hooks for DCC messages later. Probably some other bug fixes and stuff I forgot about, see the ChangeLog. ] [[project @ 2002-08-02 04:31:30 by unknown_lamer] unknown_lamer**20020802043130 A few things this time. Hooks can be named (really cool), a few bug fixes (logs work again now), the docs were worked on a little, Socket::readLine now automatically expands the buffer when the length gets over 512 (it uses a static std::string that will _not_ have to be expanded for most uses, but _might_ need to be expanded when I get DCC to work), the bot now runs hooks on its own text so you have to protect against your hooks triggering other hooks by their output; this can be done using the new (not-from-me) syntax (see the manual for how it works). I think that is it. ] [[project @ 2002-07-28 22:17:32 by unknown_lamer] unknown_lamer**20020728221732 A few things, there is now a bot:exit-hook that is a standard Guile hook that is run when the bot shuts down. 2.1.0 was released, so I bumped the version number in configure.ac to 2.1.1CVS. ] [[project @ 2002-07-24 03:05:06 by unknown_lamer] unknown_lamer**20020724030506 Lots of changes, look at the ChangeLog. Most notable is that the Hooks system actually works now. ] [[project @ 2002-07-15 21:01:51 by unknown_lamer] unknown_lamer**20020715210151 User functions are now all stored in a map and the userFunctionStruct data type is gone as part of the new unification. userFunction now protects it's scmFunc if it was passed so you can use lambda's in a bot:addcommand now. The docs are slightly (not really) better and I've started to add lower level message sending commands to the scripting interface. Looks like it's almost time for 2.1.0 to be released. ] [[project @ 2002-07-12 03:27:05 by unknown_lamer] unknown_lamer**20020712032705 2002-07-11 Clinton Ebadi * source/ServerQueue.C (sendUser): Changed . . in USER command to 0 * (which is the Right Way to because must be a number...) * source/Parser.C (init): New method of Parse. This initalizes the functions map. functions replaces the old functions array, and should yield better performance (since the functions array had to be scanned for every incoming message) * source/Parser.H: New member, functions (private) 2002-07-10 Clinton Ebadi * source/Interp.C (Startup): New symbols: bot:user-* [none|user|trusted|friend|master] are defined in Scheme as the different levels of the users. (Startup): All bot-* variables are now bot:* 2002-07-09 Clinton Ebadi * source/Bot.H: Made some variables private because they shouldn't be changed at runtime * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test this out to see if it works and make it work) * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file dir. * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after scripts in the user scripts dir) that made bobot++ not able to load scripts from the user scripts dir ] [[project @ 2002-07-09 14:28:08 by unknown_lamer] unknown_lamer**20020709142808 - Removed bobot-scheme.scm.in and moved its single function into bobot-utils.scm. - The PREFIX preprocessor symbol is now defined as the install prefix - getopt_long is used instead of normal getopt, --help has been expanded to cover new options as well as give more detail. - The default action for bobotpp when encountering a bad argument is to display the short help (just lists the commands you may use). - Hooks list (BotInterp.C, RunHooks) is now read from end to beggining because we want to call the higher priority hooks before the lower priority hooks ] [[project @ 2002-07-08 21:11:15 by unknown_lamer] unknown_lamer**20020708211116 2002-07-08 Clinton Ebadi * source/Main.C (real_main): Default configuration is now read from /etc/bobotpp/default * source/bobot-scheme.scm.in: Added file. This defines the 'bot-load' procedure which will load a file from $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the script doesn't exist in the user script dir. ] [[project @ 2002-07-07 02:41:19 by unknown_lamer] unknown_lamer**20020707024119 Initial import into CVS ] [[project @ 2002-07-07 02:33:51 by unknown_lamer] unknown_lamer**20020707023351 Initial import into CVS ] [[project @ 2002-07-07 02:30:24 by unknown_lamer] unknown_lamer**20020707023024 Initial import into CVS ] > { }