ignore Intellij IDEA related files
questions.yn: Perform string, not identity, comparison against 'y'

The `is` operator performs object identity comparison.  Changing to `==`
implements the expected behavior.

Use the mock library to add tests verifying the API of questions.yn.
callbacks: Use Raise=True for nested limit errors

Signed-off-by: James McCoy <vega.james@gmail.com>
Alias: Restore recursion limit and limit memory use

The (faulty) detection of recursive Aliases was removed in
a656fd06930541103c70297825d6f5f5956ecc45, claiming that "our nesting
limit will catch issues now."  However, nested Aliases weren't actually
increasing the nesting level.

Actually increasing the nesting level when an alias is executed restores
the intended behavior.  Additionally, limiting the size of the
expanded arguments to an alias prevents exponential growth of memory
usage for certain malicious inputs/aliases.

Signed-off-by: James McCoy <vega.james@gmail.com>
release: Remove reference to freshmeat^Wfreecode

freecode.com, nee freshmeat.net, is now a completely static site.  Since
it is no longer allowing updates, no need to worry about pushing
information about Supybot releases to it.

Signed-off-by: James McCoy <vega.james@gmail.com>
callbacks: Properly handle nested command errors

Using Raise=True was only papering over the real problem in the nested
command error handling.  The actual issue is that we were trying to
return an IrcMsg from NestedCommandsIrcProxy.__init__.  Dropping
Raise=True and moving return to its own line is the correct fix and
resolves the test failure in testMaximumNestingDepth.

This commit reverts 7838cae3bc5f23c271c8baba0630d6969d8f1b55

Signed-off-by: James McCoy <vega.james@gmail.com>
Break .travis.yml to two files

* .travis.yml = the primary Travis config file.
* .travis.runonce.bash = the script which we want to run only once per
build.
.travis.runonce.bash: add forgotten sphinx
.travis.runonce.bash: add msgcheck

&& requirements.txt: add msgcheck & forgotten sphinx.
fix .travis.yml
Merge pull request #765 from Mkaysi/runonce

Break .travis.yml to two files
travis: Install sphinx and msgcheck only for the build running runonce.

Squashed commit of the following:

commit 3b528b5f103500d9cfa62e3442d7c977ee7c6259
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 10:24:02 2014 +0300

    .travis.runonce.bash: fix travis check

    * Install sphinx & msgcheck on same line.
    * Don't install sphinx twice.

commit aca2040807b082a1b1f74be4f8f3917407dd4e3c
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 01:12:10 2014 +0300

    .travis.runonce.bash: use sudo in travis

commit 00b8d9d0b269679867d3ef2d730274d6b0d1701b
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 01:08:51 2014 +0300

    Revert ".travis.runonce.bash: improvising"

    This reverts commit 373471845cd2a1ebfc615fe0eb253ac5f169ec67.

commit 373471845cd2a1ebfc615fe0eb253ac5f169ec67
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 01:00:52 2014 +0300

    .travis.runonce.bash: improvising

    I hope this also works with Travis, but I have no idea does whereis
    usually check $HOME/.local/bin …

commit 1a8f54f337455dbb3e5643ce8fa9735183edcd79
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:46:16 2014 +0300

    Revert ".travis.runonce.bash: adjust $PATH"

    This reverts commit dc096462798499270e78ed7aa596dade938796a4.

commit dc096462798499270e78ed7aa596dade938796a4
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:37:13 2014 +0300

    .travis.runonce.bash: adjust $PATH

    If something is already installed elsewhere, pip won't reinstall it.

commit bd34aae08a8a739c7f6ecd8db685dc81ac3acf7d
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:25:56 2014 +0300

    .travis.runonce.bash: use full paths

    for applications installed to $HOME/.local

commit 643878c2f94cbe9f7244a4d8df7463ed25af2275
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:24:20 2014 +0300

    Fix Python 2.6 build

    Move msgcheck & sphinx to .travis.runonce.bash so 2.6 doesn't fail to
    msgcheck requiring Python 2.6.

commit 2fbb279ac26b304ad976b2e04dd7d60718d4521e
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:19:30 2014 +0300

    fix .travis.yml

commit cc1ccb15a0178e5606cfcc042682dba50833abed
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:08:12 2014 +0300

    .travis.runonce.bash: add msgcheck

    && requirements.txt: add msgcheck & forgotten sphinx.

commit a2d910d2f50022a4f75e5d87d52b2f9176046ecb
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:03:41 2014 +0300

    .travis.runonce.bash: add forgotten sphinx

commit cdd564f1157ae18e753b0a1da269cdc3421f1f22
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Sat Jul 5 00:01:14 2014 +0300

    Break .travis.yml to two files

    * .travis.yml = the primary Travis config file.
    * .travis.runonce.bash = the script which we want to run only once per
    build.

commit 6c3d2dfcd2033c6ed488ad67068ad7deff0c9c95
Merge: ebf2442 37d8a54
Author: Valentin Lorentz <progval+github@progval.net>
Date:   Fri Jul 4 19:06:47 2014 +0200

    Merge pull request #755 from Mkaysi/services

    Services: default NickServ and ChanServ to NickServ and ChanServ.

commit ebf2442dbc7d10205c6311ba0b95d26660088046
Merge: 3f9b10c c534e82
Author: Valentin Lorentz <progval+github@progval.net>
Date:   Mon Jun 30 13:27:34 2014 +0200

    Merge pull request #762 from Mkaysi/nickauth

    NickAuth: update l10n-fi & messages.pot .

commit c534e824f03f3f01ba969fbab4ddb9267d5c30fa
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Mon Jun 30 14:22:34 2014 +0300

    NickAuth: update l10n-fi & messages.pot .

    [SKIP CI]

commit 3f9b10cc5983161ff61ac6584a4c728ca8596d0e
Merge: 607e5e0 38b933a
Author: Valentin Lorentz <progval+github@progval.net>
Date:   Mon Jun 30 13:17:13 2014 +0200

    Merge pull request #761 from nyuszika7h/fix-nickauth-nick-list-error

    NickAuth: fix error message in !list

commit 38b933aee96c0305f603169f365721e2cd766764
Author: nyuszika7h <nyuszika7h@gmail.com>
Date:   Mon Jun 30 09:50:43 2014 +0200

    NickAuth: fix previous commit

    I'm too used to JavaScript.

commit 8e97ad37075ce69f2332a14ed400408650896bff
Author: nyuszika7h <nyuszika7h@gmail.com>
Date:   Mon Jun 30 09:47:55 2014 +0200

    NickAuth: fix error message in !list

commit 37d8a545e969914caa97a68af54f93148e36ca4c
Author: Mikaela Suomalainen <mikaela.suomalainen@outlook.com>
Date:   Fri Jun 6 13:54:26 2014 +0300

    Services: default NickServ and ChanServ to NickServ and ChanServ.

    * Most of networks have services with this name.
        * I can only name QuakeNet from those that don't, but the default
        configuration exludes it.
    * If this plugin is loaded in Supybot-wizard, it asks for nicknames of
    NickServ and ChanServ.

    [SKIP CI] because this is `git commit --amend` and the build already
    passed.
fix .travis.runonce.bash

* msgcheck now doesn't cause false-alarms with Limnoria specific things.
* remove the broken if which never gets executed by Travis
* These commits have already been build invidually so [SKIP CI]
Merge pull request #768 from Mkaysi/clean-travis

fix .travis.runonce.bash
src/conf.py reword help text for supybot.user

and supybot.networks.<network>.user
80 columns.
Anonymous: Move "say $nick" functionality to new tell command

Allowing Anonymous.say to send a message to either a nick or an
(implicit) channel through the use of first('nick', 'inChannel') changed
the behavior of the command by making it impossible for 'inChannel' to
take effect.

This meant that any previous users of the command that expected "say
some text" to send "some text" to the current channel would instead try
to send "text" to the user "some".  Depending on the value of
conf.plugins.Anonymous.allowPrivateTarget, this would result in either
an error or a strange message to a random user.

Creating a new tell command solves this issue as Anonymous.channel now
goes back to its simple 'inChannel' wrapper.

Signed-off-by: James McCoy <vega.james@gmail.com>
Ctcp: fix README.md

* Fix quoting
* Remove prefix, quoting should tell that it's a bot command

[SKIP CI]
Merge pull request #773 from Mkaysi/patch-1

Ctcp: fix README.md
Merge remote-tracking branch 'supybot/master' into testing

Conflicts:
	.gitignore
	plugins/Alias/plugin.py
	plugins/Anonymous/plugin.py
	plugins/Anonymous/test.py
	setup.py
	src/callbacks.py