Also check for "is not online" response from freenode NickServ when ghosting.
And minor style fix: Use `null' instead of `not'.
Auto-regain fixes and -acquired-preferred-nick-hook, -join-channels-after-acquired-preferred-nick, etc..
Merge branch 'upstream-master'
Add variable `circe-color-nicks-everywhere' to choose whether nicks should be colored in the message body too.
Minor documentation fix.
.gitignore file
tracking-most-recent-first
circe-format-strings: new target 'server

The new target 'server means that the message will be displayed in the
server buffer.  A number of defaults have been updated, where sensible.
circe-command-TOPIC: fix bug when called with no arg

Previously this command would cause an irc error when it was called with
no arg.  That is because it was incorrectly testing for a nil value of
'channel' when it should have been testing for the empty string.

I considered modifying 'circe-chat-input' instead to supply commands with
nil when called at the circe prompt with no argument, but subsequently
rationalized that the empty string is the correct thing to pass because,
if IRC protocol is considered to be a minilanguage, the empty string is
its null value.  A number of existing commands are already built to
exploit this feature, and would need to be rewritten in a more complex
fashion if nil were used instead of the empty string for "no argument".
tracking-ignored-p: fix bugs

This patch makes tracking-ignored-p do what the docstrings of
tracking-ignored-buffers say it should do, treat strings as regexps.  In
addition to that error, the function didn't work at all with strings
because of a logic error in the 'if' condition.
Unbreak circe-command-GQUIT by making circe-server-quitting-p buffer local.
Add handler for 329 messages, copied from 333.
circe-command-KICK: tweak and remove cute default message
circe-command-BANS: new command in circe-chanop.el

from Joshua Elsasser
circe-server-mode-map: new keymap for server mode
circe-lagmon.el: a new lag monitor mode

Start the lag monitor by loading this module and calling
circe-lagmon-mode.  It monitors your lag on each server by periodically
sending a CTCP LAGMON to your own nick, bearing a timestamp.  It also
monitors for timeouts of these messages, and can try to automatically
reconnect when one times out.

Configuration is controlled by the following variables:

  circe-lagmon-interval: sets the main interval for lag monitoring.
Default is 60 (seconds).

  circe-lagmon-mode-line-format-string: format string for the mode-line
display.

  circe-lagmon-reconnect-timeout: seconds after which to try reconnecting
to the server when a CTCP LAGMON message times out.  Default is 20.
circe-format-self-action: use 'nick' instead of 'mynick'

circe-command-ME: supply ':nick' keyword

The rationale for this change is that when lui-format propertizes
circe-format-self-action with the lui-format-argument, it makes more sense
semantically for that object to be marked as a 'nick' than as a 'mynick'.
Nick colorization is an application that may make use of these properties,
and whose implementation is simplified by this change.
tracking-ignored-p: return actual entry instead of t

This makes possible easy dynamic modification of tracking-ignored-buffers.
One example would be automatically removing an entry from
tracking-ignored-buffers when the user speaks in an ignored channel, thus
allowing them to track that channel for the remainder of the session.
shorten JOIN and QUIT messages

Removed redundant text from the JOIN and QUIT messages.  Since the
messages begin with "*** Join:" and "*** Quit:", it is redundant and a
waste of space to say at the end "is now on the channel" or "has left
IRC".

Also update format of PART message to be consistent with that of QUIT.
circe-format-self-action: Add documentation for new {nick} parameter.