Find file
Fetching contributors…
Cannot retrieve contributors at this time
485 lines (326 sloc) 15.9 KB
2007-12-06 D. Goel <>
* erbc.el (fsi-replace-regexp): fix call to `error'.
(fsi-merge-generic): Ditto.
(fsi-mv): "
(fsi-replace-string): "
and many other functions and files: Ditto.
2007-11-23 Dave Goel <>
* COPYING: Replace by GPL v. 3
* erbot.el and all other files: Change GPL v. 2 to 3.
2007-07-22 Michael Olson <>
* README.txt: Mention examples/dotemacs-mybot.
* examples/dotemacs-mybot: New file that is the example .emacs for
the bot.
2007-07-19 Michael Olson <>
* erbot.el (erbot-reply): Don't force the message through without
flood protection. Since ERC 5.1, ERC has very good flood
protection, so make use of it.
2007-04-11 Vivek Dasmohapatra <>
* erbim.el (fs-unicode-describe): add usage instructions
(erbim-search-by-description): search for unicode characters by
(fs-unicode-find): bot-ui wrapper for erbim-search-by-description
including usage message.
(erbim-name-by-codepoint): changed output format to use #xXXX
2007-01-28 Vivek Dasmohapatra <>
* erbot.el (erbot-join-servers): `erc' takes :keyword style
parameters in emacs22, the old argument list no longer works.
Work out which erc version we're using and alter the call
2007-01-27 Vivek Dasmohapatra <>
* erbutils.el (erbutils-describe-variable): help-button-xref
has changed in emacs22, make this function work with it.
2006-11-28 Michael Olson <>
* erbot.el (erbot-join-servers): Make this work with the ERC
development branch.
2006-09-28 D Goel <>
* erbc.el (fsi-describe-from-english): smarter self search
(fsi-generalize-search-term): new, for above.
2006-08-21 Michael Olson <>
* erbot.el (erbot-install): Remove check for erc-backend-version,
since it no longer exists. Use featurep instead. This fixes a
failure to join channels issue with the ERC development branch.
2006-05-18 Vivek Dasmohapatra <>
* erbtranslate.el (fsi-translate): If we can't make sense
of the call (not enough arguments) emit a usage message.
2006-05-17 Michael Olson <>
* contrib/translate.el (translate-load-pairs): Docfix.
* erbtranslate.el (fsi-translate-list-services): Use
translate-program, not erbn-translate-program, since the latter
does not exist.
2006-05-12 Vivek Dasmohapatra <>
* contrib/translate.el: the symbol -> string coercion is not
required for arguments to translate.el, that's something
specific to user-visible erbot functions.
* erbtranslate.el: most translation code moved to translate.el
fsi-translate-web-page temporarily disabled till I've tested
it a bit more and made the implementation a little smarter
than it currently is. (It should check ti see if a web page
service is actualy available)
2006-05-10 D Goel <>
* erbtranslate.el: update authors
2006-05-10 Vivek Dasmohapatra <>
* erbtranslate.el (fsi-translate-list-pairs): destination language
should also be searched for with a case insensitive predicate.
2006-05-09 D Goel <>
* erbtranslate.el: update authors
2006-05-09 Vivek Dasmohapatra <>
* erbtranslate.el (fsi-translate-list-pairs): improved help, return
more information when < N pairs, where N is currently 20. (Always
return full list if both origin and destination are both supplied)
(erbtranslate-full-name): returns a "full name" for a language,
consisting of all its human-readable aliases.
(erbtranslate-unsupported-langs): list of languages emacs can't utf-8
encode yet.
(fsi-translate): abort for non-unicodable languages like Arabic and
(fsi-translate): Use full names of languages in error messages.
(fsi-translate-list-pairs): Use full names of languages in messages.
2006-05-08 Vivek Dasmohapatra <>
* erbtranslate.el (erbtranslate-parse-pair): parse the output of
erbn-translate-program --list-pairs.
(erbtranslate-load-pairs): load the map of available translations.
(fsi-translate-list-pairs): Alter this function so that it only lists
possible translations when both an origin and a destination language
have been specified. Otherwise just tells the user how many matching
language pairs there are.
(fsi-translate-list-pairs): coerce the arguments into strings first.
(erbtranslate-parse-pair): some (one?) language codes are 3 letter.
I thought this was non-canonical but that's what translate returns,
so we must support it.
(erbtranslate-parse-pair): tidy up error message
(erbtranslate-req-to-pair): new. take the (possibly non-canonical)
language names from the user and map them to the canonical language
codes that translate expects.
(fsi-translate): map human-friendly language names in translation
request to canonical language codes.
(fsi-translate): use the coerced-strings, not the raw language args.
2006-05-08 D Goel <>
* erbtranslate.el (erbn-translate-program): new. Make the program customizeable.
* contrib/shs.el: New shs.el, cleans up temporary files.
2006-04-24 D Goel <>
* erbtranslate.el: DECLARE SAFE. Uses call-process now.
* erball.el: require erbtranslate.
* erbutils.el (erbutils-enabled-check): new function.
* erbtranslate.el: revamp the file to make it secure, not yet final.
2006-04-20 D Goel <>
* erbot.el (erbot-safe-p): Improve this function a bit.
(erbot-safe-nocontrol-p): new.
* erbot-lispy.el (erbot-lispy-safe-p): change name from erbot-lispy-safep
* erbot.el (erbot-safe-p): change name from erbot-safep
* erbc.el (erbn-url-functions-p): new variable. Disallow url's
unless enabled here. Else potential freeze.
(erbn-internal-web-page-time): rename from the one below.
(fs-internal-web-page-time): rename to the one above
(erbn-url-functions-p): add bug discoverer's name in docstring.
(fsi-get-more-invocation-string): new function.
(fsi-limit-lines): Make the bot spit something useful instead of
,more, when using weird erbn-char.
2006-04-19 D Goel <>
* erbtranslate.el: fix minor doc typo
2006-04-17 D Goel <>
* erbtranslate.el: adapted from indio's myerc.el. Work in
2006-04-07 D Goel <>
* erbot.el (erbot-safe-make): Exception to control characters:
Allow \t
2006-03-21 D Goel <>
* erbot.el (erbot-safe-make): new function.
(erbot-reply): call erbot-safe-make before replying.
2006-02-28 Michael Olson <>
* ChangeLog: Remove use of CVS Revision tag.
2006-02-27 D Goel <>
* erbc2.el (fs-apply): SECURITY FIX! Also, disable when
paranoid. Ditto for funcall.
* erbot.el (erbot-paranoid-p): Make this new variable a catchall
for security. t by default. No enablings like erbot-setf-p,
etc. will work unless this is non-nil. If this is non-nil, erbot
is paranoid, it will not allow apply, setf, funcall, sregex,
etc. even if the corresponding variables are turned on.
2006-02-26 Michael Olson <>
* erbc.el (fs-flame): Concat multiple arguments together to form
the flame target, unless there are only 2 arguments and the last
one is a number. In that case, we pick the specified flame.
2006-01-10 D Goel <>
* erbc5.el (symbol-name): minor: provide this fs-function.
2006-01-05 Michael Olson <>
* README.txt (NOTE): Add directions for getting the units file for
* contrib/units.el: Newly-added file that is recommended on the
ErbotInstallation page of
2006-01-01 D Goel <>
* erblisp.el (erblisp-check-args): Promote to a macro. This macro
first removes any arguments that can't be evalled. This happens,
when, for example, the user-defined function contained &optional,
&rest, etc.
* erbot.el (erbot-remote): erc-coding-system-for-target was not
defined for older versions of erc.
2005-12-31 Vivek Dasmohapatra <>
* erbmsg.el (fs-memo): if a memo command was not recognised,
emit an error so we know it happened.
(fs-memos): If someone had no memos, return the help-memo
text too - makes it easier for people to figure out how it
all works.
2005-12-30 Vivek Dasmohapatra <>
* erbot.el (erbot-remote): Decode the incoming data properly
paying attention to erc's inbound coding system.
(erbot-reply): Now that the inbound data is (hopefully) cleanly
decoded we shouldn't need to force the outbound coding.
In emacs21, mule-ucs may be required for this to work.
2005-11-10 D Goel <>
* erbot.el (erbot-safep): Make a minor change, to try to render
this function live up to its name: make it deem any newlines
unsafe. Because of the way the engine works, this change has no
effect on erbot at this time.
(erbot-safep): minor correction to last change.
2005-11-09 Michael Olson <>
* erbot.el (erbot-reply): Make erbot-safep check each line of the
split reply. Split the string on both \n and \r. Together, this
fixes an exploit in user-defined functions, which involved
returning a string like "^Mquit".
2005-11-08 Michael Olson <>
* erblisp.el (erblisp-max-list-length): New option that determines
how long a sand-boxed list or expression may be.
(erblisp-safe-length): New function that checks the given list to
make sure it isn't too long. It's able to handle nested lists as
(erblisp-check-args): New function that calls erblisp-safe-length
with the correct args.
(erblisp-sandbox): Use erblisp-check-args.
* erbc3.el (fsi-defun): Add erblisp-check-args invocation to each
newly-created user function.
2005-10-12 Michael Olson <>
* erbot.el (erbot-join-servers): Use fboundp check;
erc-compute-port is a function.
2005-10-05 D Goel <>
* erbot.el (erbot-join-servers): `erc-compute-port' seems to be
undefined for my older ERC (4.0). So, I
reverted to old behavior when it is undefined. Did I do it right?
2005-10-05 Michael Olson <>
* erbot.el (erbot-join-servers): Call `erc-compute-port' instead
of using the value of `erc-port', since by default erc-port is
2005-09-02 D Goel <>
* .*.el: Get rid of all string properties everywhere, especially
right at the source, for extra security.
* erbc.el (fsi-read): minor: read-> read-from-string for more
(erbn-read): new
(fsi-read-from-string): new
(fsi-describe-variable): use erbn-read for safety
(fsi-require): ditto
* erbbdb.el (erbbdb-add): ditto
2005-08-31 D Goel <>
* erbot.el (erbot-nickserv-p): Add auto-identify code, also enable
by default, see doc for erbot-nickserv-p for how to make changes
to your bot's .emacs. This is now required by freenode for
privmsgs to work.
(erbot-nickserv-p): Unde default behavior change. The default
behavior of erbot remains as xbefore: to *not*idontify by
2005-08-28 Michael Olson <>
* contrib/wtf.el: Add to copyright notice.
(wtf-alist): Move FTBFS to the "Additional terms go here" section.
2005-08-22 Jose E. Marchesi <>
* contrib/haiku.el (fs-haiku): New file
2005-08-16 D Goel <>
* contrib/wtf.el (wtf-alist): add ("FTBFS" . "failure to build from source")
2005-08-15 Michael Olson <>
* contrib/wtf.el: I received permission to receive these terms in
the public domain.
(wtf-alist): Add "TWAT".
(wtf-is): Fix Emacs21 issue.
2005-08-11 Michael Olson <>
* contrib/wtf.el (wtf-match-string-no-properties): New function
that is like match-string-no-properties, but works when that
function is not defined.
(wtf-get-term-at-point): New function that looks for term at
(wtf-is): Make use of `wtf-get-term-at-point'.
* Makefile (clean realclean distclean fullclean): Remove *~ files
in contrib directory.
2005-07-09 Michael Olson <>
* erball.el: Make sure that the user knows if bbdb cannot be
found. Otherwise they will get a non-working bot!
(erball-compilation-paths): Add path to BBDB.
2005-07-02 Michael Olson <>
* erball.el (erball-compiling-p): Use a custom routine instead of
`assoc' to detect "--compile-erbot" since the latter does not seem
to work on Emacs 22.
2005-07-01 Michael Olson <>
* erball.el (erball-compilation-paths-rel-to): New variable
populated by `--paths-rel-to ARG' on the emacs command line,
taking the value of ARG.
(erball-compiling-p): New variable that is non-nil when
`--compile-erbot' is included on the emacs command line. This is
used to indicate that we want to compile erbot from a Makefile.
(erball-compilation-paths): Elements to add to load-path when the
compilation flag, erball-compiling-p, is set.
(erball-files): Automatically populate this if erball-compiling-p
is set.
(erball-compile): If erball-compiling-p is set, use a simpler
* Makefile: New file that allows erbot to be compiled and
installed. Edit the top of the file to indicate where to find
emacs and where to install the files.
* README.txt (URL): Add brief mention of how to compile and
install erbot.
2005-06-09 Michael Olson <>
* contrib/wtf.el: New file that contains a list of acronyms in
`wtf-alist' and the `wtf-is' command to look up a definition.
* erbtrain.el (erbtrain-utils-teach-acronyms): Use `wtf.el' to
teach the given bot some common acronyms.
2005-04-28 D Goel <>
* erbc3.el (fsi-pf-load): Make this error msg more informative.
* erbc5.el (fsi-ignore-errors-else-string): new.
2005-04-01 D Goel <>
* erbc4.el (fsi-kick): Move from erbc.el to here.
2005-04-01 Michael Olson <>
* erbot.el (erbot-doctor): Create separate doctor sessions for
each channel or query buffer so that responses make sense to the
2005-02-21 S Freundt <>
* erbmsg.el: (erbmsg-notify-msg-on-JOIN) [fix] add function set-alist for
compatibility to FSF emacsen
2004-07-26 S Freundt <>
* erbmsg.el: (erbmsg-notify-msg-on-JOIN)
- fixed bug with last-access used for the first time
2004-06-26 S Freundt <>
* erbmsg.el:
- added dump routines to dump message hash tables to hard disk
- added routines for restoring from dumped message files
- added interval within erbot does not notify on channel joins
- added erbmsg-new-msg-(pre|post)-hook
2004-06-13 S Freundt <>
* erbot.el: added new var erbot-on-new-erc-p
and handlers for new erc-backend facilities.
erc versions >1.660 use erc-backend.el to handle server
events. erbot is now aware of these new handlers by
determining the value `erbot-on-new-erc-p' when calling
The new backend handlers' values are evaluated within
`erbot-remote' fun.
2004-05-07 D Goel <>
* erbwiki.el: Security, add new functions.
lines 0.3 and later fix that risk.
Also add new functions to erbwiki.el suitable for parsing more
2004-04-06 D Goel <>
* erbc.el (fs-kick): Kicking syntax different? remove nil?
2004-03-28 D Goel <>
* erbcompat.el: name Sebastian as the author :)
* erbwiki.el (erbwiki-get-fields): remove '... since not
recognized by xemacs
2004-03-22 D Goel <>
* erball.el (noninteractive): dunnet should be required only for
noninteractive, else it starts a session!
2004-03-21 D Goel <>
* erbc3.el: Redefine and move fs-setq here.
(fs-defun): This function was defined twice. Remove the first
* erbc.el (fs-find-variable-internal): add cosmetic space.
(obarray): redefine and mv fs-setq to erbc3
2003-12-30 D Goel <>
* erbc.el (reverse): add fs-reverse