Add gnulib gettext module for config.rpath
[clinton/bobotpp.git] / ChangeLog
index 786c239..689ef72 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,451 @@
+2008-11-11  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * 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  <clinton@unknownlamer.org>
+
+       * 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  <clinton@unknownlamer.org>
+
+       * 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
+
+2006-06-28  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * Release: 2.2.2
+
+       * scripts/bobot-utils.scm (bot:load): Fixed loop logic so that
+       directories other than the first entry in the load path are
+       actually searched
+
+       * scripts/uname: redelim -> rdelim
+
+       * AUTHORS: Added Stelz to the Help by section
+
+       * source/Bot.C (readConfig): If a logfile starting in / is found
+       the logdir should be set to all but the last part of the filename,
+       and the logfile set to the last part to avoid breaking script
+       logging
+
+       * scripts/bobot-utils.scm (bot:match-not-channel): Removed space
+       in regex so it works on freenode again
+
+       * scripts/bobot-utils.scm (bot:sent-to-me?): Rewritten to call
+       bot:match-to-me when called and not when defined
+
+       * source/Bot.C (Bot): Added argument to Interp::Startup2
+
+       * source/Interp.C (Startup2): Made to take a Bot as argument to avoid
+       a segfault
+
+       * source/Bot.C (Bot): Create BotInterp before running
+       Interp::Startup2 ()
+
+       * Release: 2.2.1
+
+       * source/Bot.C (set_log_dir): Create directory if it doesn't exist
+       (readConfig): Catch case of a line consisting of whitespace and
+       don't print an error message
+
+2006-02-03  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Interp.C (Startup): Removed loading of bobot-utils.scm
+       (Startup2): Load bobot-utils.scm here
+
+       * source/Interp.H: Added Startup2 method
+
+       * source/Bot.C (Bot): Call Interp::Startup2
+
+       * source/Main.C (main): Moved Interp::Startup call to after the
+       Bot is created 
+       (main): Moved Interp::Startup back
+
+2005-09-12  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (High Level Message Functions): Removed
+       duplicate bot:say entry
+       (Channel Control): Converted section to new format, and documented
+       more commands
+
+2005-08-07  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Bot Control Commands): Convert to @deffn and
+       documented commands
+       (Built-In Commands): Clarified when the channel argument must be
+       provided
+
+2005-07-21  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo: Removed all multitables and replaced them with
+       lists
+
+2005-07-07  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Shit Levels): Added section
+       (Scheme User Levels): Removed Section
+       (Adding New Commands): Updated ref to Scheme User Levels to refer
+       to the User Levels section, and changed a @code{} into a @{var}
+       (Sending Messages): Rewrote section
+       (High Level Message Functions): Merged bot:say and bot:msg
+       sections
+       (bot.users): Expanded section
+       (bot.shit): Added section
+       (bot.conf): Document initfile option
+       (bot.shit): More detail
+       (bot.users): More detail
+       (bot.init): Added section
+       (bot.conf): Documented autoexecfile option
+       (bot.autoexec): Added section
+       (Using the Bot): Added some intro text
+       (Concepts): New section, all of the level sections are now
+       subsections of this
+       Merged small doc patch from dsmith
+       (Channel Control): Added Section
+       (User List Commands): Added Section
+       (Spylist): Added Section
+       (Message Commands): Added Section
+       (Miscellaneous Commands): Added Section
+       (Shit List Commands): Added Section
+       (Channel Info): Added Section
+       (Built-In Commands): Completely Reorganized section
+
+       * source/Interp.C (interp_init_helper): Added bot:shit/none
+       /no-ban, /no-kick, and /no-deop constants to Scheme
+
+       * scripts/bobot-utils.scm (bot:sent-to-me?): Redefined as a
+       closure (this should create the regexp once instead of each time
+       the function is called)
+
+       * examples/bot.autoexec: Updated sample bot.autoexec
+
+       * examples/bot.users: Updated sample bot.users
+
+       * examples/bot.conf: Updated sample config
+
+2005-07-06  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Sent Message Hooks): Documented hooks/send/who
+       and hooks/send/whois
+
+       * source/ServerQueue.C (sendWho): Call hooks/send/who
+       (sendWhois): Call hooks/send/whois
+
+       * source/Interp.C (interp_init_helper): Added hooks/send/who and
+       hooks/send/whois constants to Scheme
+
+       * source/BotInterp.H: Added SEND_WHO and SEND_WHOIS hook constants
+
+       * bobot++.texinfo (Misc Scripting Stuff): Documented bot:who and
+       bot:whois
+       (bot.conf): Document MAXNICKLENGTH
+
+       * source/Interp.C (interp_init_helper): Add bot:who and bot:whois
+       bindings to Scheme
+
+       * source/ScriptCommands.C (Who): Implemented Who method
+       Removed IQUEUE macro (no longer needed)
+       (Whois): Implemented Whois method
+
+       * source/ScriptCommands.H: Added Who and Whois methods
+
+       * source/Commands.C (Who): Implemented Who
+       (Whois): Implemented Whois
+
+       * source/Commands.H: Add Who and Whois tethods
+
+       * source/Interp.C: Updated copyright notice
+       (interp_init_helper): Remove send from CTCP/CTCPReply method names
+
+       * source/Interp.H: Updated copyright notice
+
+       * source/ScriptCommands.C (CTCP): Renamed from sendCTCP
+       (CTCPReply): Renamed from sendCTCPReply
+
+2005-07-05  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Low Level Message Functions): Updated docs to
+       reflect new names for ctcp functions
+
+       * source/Interp.C (interp_init_helper): Register
+       ScriptCommands::Notice instead of sendNotice
+       (interp_init_helper): Renamed bot:send-ctcp to bot:ctcp
+       (interp_init_helper): Renamed bot:send-ctcp-reply to bot:ctcp-reply
+
+       * source/ScriptCommands.C (Notice): Renamed from sentNotice
+
+       * source/ScriptCommands.H: Renamed sendNotice to Notice
+
+       * bobot++.texinfo (Hook Types): Spelling fix
+
+2005-07-04  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * scripts/bobot-utils.scm (_deprecated-fun): Set
+       current-error-port to bot:logport while calling
+       issue-deprecation-warning
+
+       * bobot++.texinfo: Grammar fixes on the title page
+       (Configuration): Added more info on config files.
+       (bot.conf): Added xrefs for server syntax and channel syntax
+       (server syntax): Added more detail and moved a paragraph
+       (channel syntax): Added more details, revised the examples, and
+       moved some text around
+       (User Levels): Clarified
+       (Protection): Cleaned up
+       (Automatic Op): Improved substantially
+
+       * source/DCCManager.C (checkInput): Call hooks/dcc/chat-end if the
+       DCC CHAT has died
+
+       * scripts/bobot-utils.scm (bot:log): Updated to use bot:logport
+       instead of bot-logport
+
+       * source/Interp.C (interp_init_helper): Add hooks/dcc/chat-end
+       constant to Scheme
+
+       * bobot++.texinfo (DCC CHAT Hooks): Document hooks/dcc/chat-end
+
+       * source/BotInterp.H: Add DCC_CHAT_END to enum
+
+       * source/DCCManager.C (checkStale): Run hooks/dcc/chat-end when
+       deleting a stale connection.
+
+2005-07-03  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo (Hook Types): Documented all hooks
+
+       * source/ServerQueue.C (sendPrivmsg): Changed SEND_MESSAGE hook to
+       match dest and pass dest to send hook
+
+       * bobot++.texinfo (Hook Types): Changed language of
+       hooks/dcc/chat-* hook documention
+       (Received Message Hooks): Added subsub section of Hook Types
+       (Sent Message Hooks): Added subsub section of Hook Types
+       (DCC CHAT Hooks): Added subsub section of Hook Types
+       (Miscellaneous Hooks): Added subsub section of Hook Types
+
+       * source/Parser.C (parseScriptFunction): Changed
+       lazy_apply_wrapper to Interp::LazyApplyWrapper
+       (parseScriptFunction): Changed empty_handler to Interp::EmptyHandler
+       (parsePart): Grammar fix in log (Leaved => Left)
+
+       * source/Interp.H (Interp): Added LazyHandler method
+
+       * source/BotInterp.C (RunHooks): changed lazy_apply_wrapper to
+       Interp::LazyApplyWrapper
+       (RunTimers): Changed empty_handler to Interp::EmptyHandler
+       (RunHooks): Changed empty_handler to Interp::EmptyHandler
+       (RunTimers): Changed lazy_apply_wrapper to Interp::LazyApplyWrapper
+
+       * source/Interp.C (LazyHandler): Renamed from lazy_handler
+       (ScmApplyWrapper): Renamed from scm_apply_wrapper
+       (EmptyHandler): Renamed from empty_handler
+
+       * source/Interp.H (Interp): Removed ErrorHandler method
+       (Interp): Added LazyApplyWrapper method
+       (Interp): Added EmptyHandler method
+       (Interp): Added ScmApplyWrapper method
+
+       * scripts/bobot-utils.scm: Added hooks/leave as an alias for hooks/part
+       Added begin-deprecated around deprecated definitions
+       (_deprecated-fun): Added macro to define an alias for a function
+       and issue a deprecation warning when used
+       Converted all bot- aliases to use _deprecated-fun
+
+       * source/Interp.C (interp_init_helper): Changed Hook::LEAVE to
+       Hook::PART
+       (interp_init_helper): Removed definition of hooks/leave
+
+       * bobot++.texinfo (Hook Types): Removed stub for hooks/leave, only
+       document hooks/part name (hooks/leave still exists, but will not
+       be documented as it is the same as hooks/part)
+
+       * source/Parser.C (parsePart): Use Hook::PART instead of Hook::LEAVE
+
+       * source/BotInterp.H: Removed Hook::LEAVE, added Hook::PART
+
+       * bobot++.texinfo (Scripting): Added note about most arguments
+       being strings
+
+       * source/Commands.C (NextServer): Call hooks/disconnect
+
+       * source/Bot.C (run): Pass extra argument to Hook::DISCONNECT
+
+       * bobot++.texinfo (Creating a Hook): Reformatted the bot:addhook
+       section to make it more readable
+       (Hook Types): Reformatted hooks/action
+       (Hook Types): Changed grammar of hooks/nickname (their => his)
+       (Hook Types): Documented hooks/signoff
+
+2005-06-29  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo: Updated copyright years, changed "applies to
+       2.1.5" to 2.2
+
+       * source/Socket.C (readLine): return buf.substr (0, pos) instead
+       of using the String char * constructor (this should be faster,
+       especially for long strings since a simple copy is used instead of
+       going over each char until nul is encountered)
+
+       * configure.ac: Release 2.1.8
+       Change version to 2.1.9CVS
+
+       * source/Parser.C: Include Commands.H (fixes --disable-scripting build)
+
+       * source/Bot.C (Bot): Fix to make a --disable-scripting build work
+
+       * bobot++.texinfo (Configuration): Swapped order of config file
+       placement and config files
+       (User Levels): users not found in the user list *can* execute
+       commands as bot:user-none now.
+       (Low Level Message Functions): Changed a few @code{}s to @var{}s
+
+2005-06-28  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * bobot++.texinfo: @vskip Opt... => @vskip 0pt...
+
+       * source/Main.C (namespace): Added debug-scripts option
+
+       * source/Parser.C (parseCTCP): Hook::ACTION is now passed
+       from->getNick () instead of from->getAddress () (consistency fix)
+
+       * source/Main.C: Merged error handling patch from dsmith
+
+       * source/Parser.C: Merged error handling
+       patch from dsmith
+
+       * source/Interp.H: Merged error handling patch from dsmith
+
+       * source/Interp.C (lazy_handler): Merged error handling patch from
+       dsmith
+
+       * source/BotInterp.H: Merged error handling patch from dsmith
+
+       * source/BotInterp.C: Merged error handling patch from dsmith
+
+       * bobot++.texinfo (Low Level Message Functions): Documented
+       bot:send-ctcp-reply
+
+       * source/Parser.C (parseCTCP): Converted to use Commands::CTCPReply
+
+       * source/Interp.C (interp_init_helper): Bound bot:send-ctcp-reply
+       in scheme
+
+       * bobot++.texinfo (Low Level Message Functions):
+       s/bot:send-CTCP/bot:send-ctcp/
+
+       * source/Interp.C (interp_init_helper): Renamed bot:send-CTCP to
+       bot:send-ctcp
+
+       * source/ScriptCommands.H: Uncommented sendCTCPReply prototype
+
+       * source/ScriptCommands.C (sendCTCP): Convert to use Commands::CTCP
+       (sendCTCPReply): Added
+
+       * source/Parser.C (parseJoin): Convert to use Commands::CTCP
+
+       * source/Commands.C (CTCP): Implemented
+       (CTCPReply): Implemented
+       (Action): Convert to use Commands::CTCP
+
+       * source/Commands.H: Added CTCP (bot, target, command, message)
+       Added CTCPReply (bot, target, command, message)
+
+2005-06-27  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * examples/bot.conf (maxnicklength): Update example config
+
+       * source/Utils.C (valid_nickname_p): Use b->MAX_NICKLENGTH
+
+       * source/Bot.C (readConfig): Look for MAXNICKLENGTH parameter
+
+       * source/Bot.H: Added MAX_NICKLENGTH member
+
+       * source/Utils.H (valid_nickname_p): Now takes Bot* as first argument
+
+       * source/Commands.C (Msg): Send multiple PRIVMSGs when a message
+       is multiple lines
+
+       * source/UserCommands.C (SetVersion): Convert to use Commands::Notice
+
+       * source/Commands.C (Notice): Send multiple NOTICEs when a message
+       is multiple lines
+
+2005-06-25  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * source/Main.C (real_main): Enable Guile debugging mode when
+       --debug is used
+
+       * source/Interp.C (interp_post_startup_helper): Return
+       SCM_UNSPECIFIED instead of 0
+
+2005-06-24  Clinton Ebadi  <clinton@unknownlamer.org>
+
+       * All: Updated FSF street address
+
+       * source/Commands.C (Msg): Move body of Say to an if inside of this
+       (Say): Just call Msg
+
+       * source/ScriptCommands.C (sendNotice): Returns error code instead
+       of just #t or #f
+
+       * source/Commands.C (Say): Check to make sure target is a channel
+       (Msg): Extended to send messages to channels
+
 2005-06-23  Clinton Ebadi  <clinton@unknownlamer.org>
 
 2005-06-23  Clinton Ebadi  <clinton@unknownlamer.org>
 
+       * scripts/bot.scm: Added file ((bobotpp bot) module for other
+       modules to gain access to bobot++ interface)
+
+       * source/Commands.C (Notice): Commented out check/abort if target
+       is a channel (there doesn't seem to be a reason for this to not work)
+
+       * source/Interp.C (interp_init_helper): Register bot:notice with scheme
+
+       * bobot++.texinfo (High Level Message Functions): Document bot:notice
+
+       * source/Message.H: Added operator== to Message (tests for error
+       code equality)
+
+       * source/Commands.C: Removed message type macros
+
+       * source/Message.H: Moved message type macros to Message.H
+
+       * source/ScriptCommands.C (sendNotice): Implemented sendNotice
+
+       * source/ScriptCommands.H: Uncomment sendNotice
+
+       * source/Bot.C (waitForInput): Use %02d when formatting
+       Hooks::TIMER argument instead of %2d, and switch to snprintf to
+       enforce max length
+
+       * bobot++.texinfo (Hooks): Clarified intro text about hooks (order
+       of processing).
+
+       * source/Bot.C (run): Added call to Hooks::DISCONNECT
+       (hooks/disconnect) when the bot is disconnected from the server
+
        * bobot++.texinfo: Applied documentation patch from Dale P. Smith
        * bobot++.texinfo: Applied documentation patch from Dale P. Smith
+       (Hook Types): Added hooks/disconnect argument
 
 2005-06-06  Clinton Ebadi  <clinton@unknownlamer.org>
 
 
 2005-06-06  Clinton Ebadi  <clinton@unknownlamer.org>
 
        (toUpper): Use Utils::to_upper
        (trim): Use Utils::trim_str
 
        (toUpper): Use Utils::to_upper
        (trim): Use Utils::trim_str
 
-       * source/String.H: removed srep, replaced it with a std::string (my_string)
+       * source/String.H: removed srep, replaced it with a std::string
+       (my_string)
 
        * source/Utils.C (to_upper): Applied patch from Jos Hulzink
        <josh@stack.nl>
 
        * source/Utils.C (to_upper): Applied patch from Jos Hulzink
        <josh@stack.nl>
        * source/Queue.C: Didn't notice iostream.h here! Fixed
 
 
        * source/Queue.C: Didn't notice iostream.h here! Fixed
 
 
-Copyright 2002,2003,2004,2005 Clinton Ebadi
+Copyright 2002,2003,2004,2005,2006,2007 Clinton Ebadi
 Copying and distribution of this file, with or without modification, are
 permitted provided the copyright notice and this notice are preserved.
 Copying and distribution of this file, with or without modification, are
 permitted provided the copyright notice and this notice are preserved.