lui-fool-toggle-display: Initialize `buffer-invisibility-spec` if necessary.

The value is `t` by default, meaning fools are hidden, but the value
is not fixed by `remove-from-invisibility-spec`. We now turn it into
a list if it's just `t`.
circe-networks: Support a cons cell as service value for non-tls/tls ports.

This allows us to specify default ports for Freenode both with
and without TLS support in a least-surprising way.
lui-insert: Also inhibit intangible text from confusing us.

This caused problems when timestamps got added to fool lines.
circe-server-sentinel: Trim the server event before you send it.

The events Emacs sends end in a newline. No, I don't know why.
checkdoc: Fix docstrings to conform to Emacs' guidelines.

M-x checkdoc was new to me. I like it, mostly.
tls connections: Handle idiosyncracies of `open-tls-stream`

First of all, remove the debug messages it emits when connecting.
Then make sure the process does not query if it should die before
Circe does just the same again, and finally handle the case in
`circe-server-sentinel' that the process buffer is gone already.
Completion: Support activity-based cycle completion.

When `completion-cycle-threshold' is not nil, cycling through
possible completions will now move nicks with recent activity
before nicks with older activity.

For this, we introduce a 'last-activity user info field and
accessor functions for user fields.

As this make cycle completion very useful, we make it the
default behavior, too:

circe-use-cycle-completion: New variable.

Using this variable, Circe can be asked to configure cycle
completion in IRC buffers by default, overriding the user's
global settings. This is ENABLED by default.
circe-fixes: New file for backports of Emacs fixes.

See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12619
for the discussion.
Add TLS port to default port value of OFTC.
circe-reconnect: Make `open-tls-stream` use a temporary buffer.

As `open-tls-stream` is spamming its associated buffer with status
messages, we let it do so in a temporary buffer and associate the
process with the server buffer only after we set up a process
filter function.

This is a rework of the fix done in 5b7d642, and hopefully a lot
cleaner.
lui-scroll-to-bottom: Always keep the input line at the bottom.

The old code allowed the window to scroll past the end of the buffer
if point was not in the input line. That was behavior copied from
ERC. I'm unsure why that was done in the first place. The new code
does not differentiate between point being in the input line or in the
rest of the IRC buffer.
Flyspell: Mark current channel's nicks as correctly spelled (closes #9).
Remove circe-log.el. Use lui-logging.el.
lui-format: Support formatting options.

lui-format now supports all formatting options of `format'. The
following two expressions are equivalent:

  (lui-format "{pi:.2f} chart" :pi 3.14159)

  (format "%.2f chart" 3.14159)

Also, escaping has been moved from backslashes to doubling the
escaped character, so (lui-format "{{foo}}") => "{foo}".

Finally, the license was changed to GPLv3 (see issue #23).
lui-format: Add attribution.
enable-lui-logging: Make sure our hooks are buffer local.
lui-autopaste: New Lui extension to use a paste service for long input.

The lui-autopaste extension will intercept long input to lui and
ask the user if they would prefer to use a paste service instead.
If they agree, the input is replaced with the URL to the paste
contents.

By default, bpaste.net is used, but other paste services can be
hooked into the extension.
lui-autopaste: Add autoload lines.
Revert "Flyspell: Mark current channel's nicks as correctly spelled (closes #9)."

This is not trivial to implement, because flyspell does not recognize
all nicks as words. The solution employed here is suboptimal to
begin with and can lead to problems when nicks use numbers. A better
solution would be for Circe to check itself if point is at a nick,
but that's non-trivial as well, especially as flyspell decides how
and when to call that hook.

This bug requires a lot more thinking.

This reverts commit 5d3b513538cf37a37f6bb9a7466633d90861feb6.
flyspell integration: Do not check nicks in chat buffers (fixes #9)

Circe now intercepts flyspell checking of channel and query buffers,
and ignores that if the check would be about a nick in this channel,
or the chat target in this query.