GNU ELPA - erc


An Emacs Internet Relay Chat client
erc-5.5.tar, 2023-Mar-04, 1.13 MiB
Amin Bandali <>, F. Jason Park <>
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET erc RET

Full description

ERC is a powerful, modular, and extensible IRC client for Emacs.
For more information, visit the ERC page at


Use M-x customize-group RET erc RET to get an overview
of all the variables you can tweak.


To connect to an IRC server, do

M-x erc RET


M-x erc-tls RET

to connect over TLS (encrypted).  Once you are connected to a
server, you can use C-h m or have a look at the ERC menu.

Old versions

erc-5.4.1.tar.lz2021-Oct-15 191 KiB


ERC NEWS                                                       -*- outline -*-

Copyright (C) 2006-2023 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send ERC bug reports to '',
and Cc the '' mailing list as well.
If possible, use 'M-x erc-bug' or 'M-x report-emacs-bug'.

This file is about changes in ERC, the powerful, modular, and
extensible IRC (Internet Relay Chat) client distributed with
GNU Emacs since Emacs version 22.1.

* Changes in ERC 5.5

** Smarter buffer naming for withstanding collisions.
ERC buffers now remain tied to their logical network contexts, even
while offline.  These associations can survive regional server changes
and the intercession of proxies.  As has long been practiced in other
areas of Emacs, "uniquified" buffer renaming prevents collisions
between buffers of different contexts.  ERC's approach prioritizes
predictability over economy, favoring fully qualified suffixes without
elided or omitted components.  Potential avenues for confusion remain
but will die out with the adoption of emerging protocol extensions.

** Option 'erc-rename-buffers' deprecated.
The promises made by its old "on" state are now fully realized and
enabled permanently by default.  Its old behavior when disabled has
been preserved and will remain available (with warnings) for years to

** Option 'erc-reuse-buffers' deprecated.
This ancient option has been a constant source of confusion, as
exhibited most recently when its "disabled" meaning was partially
inverted.  Introduced in ERC 5.4 (Emacs 28.1), this regression saw
existing channel buffers transparently reassociated instead of created
anew.  The pre-5.4 "disabled" behavior has been restored and will
remain accessible for the foreseeable future, warts and all (e.g.,
with its often superfluous "/DIALED-HOST" suffixing always present).

** The 'networks' module is now quasi-required.
The 'networks' module is now all but required for everyday interactive
use.  A default member of 'erc-modules' since ERC 5.3, 'networks' has
grown increasingly integral to core client operations over the years.
From now on, only the most essential operations will be officially
supported in its absence, and users will see a warning upon invoking
an entry point, like 'erc-tls', when that's the case.

On a related note, the function 'erc-network' now always returns
non-nil in buffers created by a successfully established IRC
connection, even after that connection has been closed.  This was done
to aid the overall effort to improve buffer association.

** Tighter auth-source integration.
The days of hit-and-miss auth-source queries are hopefully behind us.
With the overhaul of the services module temporarily shelved and the
transition to SASL-based authentication still underway, users may feel
left in the lurch to endure yet another release cycle of backtick
hell.  For some, auth-source may provide a workaround in the form of
nonstandard server passwords.  See the section entitled "auth-source"
in the Integrations chapter of ERC's manual.

** Rudimentary SASL support has arrived.
A new module, 'erc-sasl', now ships with ERC.  See Info node "(erc)
SASL" in the manual for details.

** Username argument for entry-point commands.
Commands 'erc' and 'erc-tls' now accept a ':user' keyword argument,
which, when present, becomes the first argument passed to the "USER"
IRC command.  The traditional way of setting this globally, via
'erc-email-userid', is still honored.

** Changes to display options for new ERC buffers.
The default value for the option 'erc-join-buffer', which determines
how new buffers are displayed, has been changed to 'bury' for security
reasons.  Although the old value of 'buffer' is still accessible,
along with its original behavior, users wanting a safer alternative
can now opt for an improved 'window-noselect' instead.  It still
offers the same pronounced visual cue when connecting and joining but