GNU ELPA - erc

erc Atom Feed

An Emacs Internet Relay Chat client
erc-5.6.tar (.sig), 2024-Jun-12, 1.60 MiB
Amin Bandali <>, F. Jason Park <>
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use list-packages.

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.5.tar.lz2023-Mar-04 228 KiB
erc-5.4.1.tar.lz2021-Oct-15 191 KiB



Copyright (C) 2006-2024 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.6

** Module 'keep-place' has a more decorative cousin.
Remember your place in ERC buffers a bit more easily with the help of
a configurable, visible indicator.  Optionally sync the indicator to
any progress made while you haven't yet caught up to the live stream.
See options 'erc-keep-place-indicator-style' and friends, and try M-x
keep-place-indicator-mode to see it in action.

** Module 'fill' offers an adaptive style based on 'visual-line-mode'.
This style dynamically wraps messages to a window's width while
mimicking the "hanging indent" look of 'erc-fill-static'.  It also
provides some movement and editing commands to optionally tame the
less familiar aspects of 'visual-line' behavior.  An interactive
helper called 'erc-fill-wrap-nudge' makes easy work of adjusting the
overhang on the fly.  Set 'erc-fill-function' to 'erc-fill-wrap' to
get started.

** A module for nickname highlighting has joined ERC.
Automatic nickname coloring has come to ERC core.  Users familiar with
'erc-hl-nicks', from which this module directly descends, will already
be familiar with its suite of handy options.  By default, each
nickname in an ERC session receives a unique face with a unique (or
uniformly dealt) foreground color.  Add 'nicks' to 'erc-modules' to
get started.

** A unified interactive entry point.
New users are often dismayed to discover that M-x ERC doesn't connect
to its default network, Libera.Chat, over TLS.  Though perhaps a
decade overdue, this is no longer the case.  Other UX improvements in
this area aim to make the process of connecting interactively slightly
more streamlined and less repetitive, even for veteran users.

** Revised buffer-display handling.
A point of friction for new users and one only just introduced with
ERC 5.5 has been the lack of visual feedback when first connecting via
M-x erc or when issuing a "/JOIN" command at the prompt.  As explained
below, in the news for 5.5, the discovery of a security issue led to
most new ERC buffers being "buried" on creation.  On further
reflection, this was judged to have been an overcorrection in the case
of interactive invocations, hence the borrowing of an old option,
'erc-query-display', and the bestowing of a new alias,
'erc-interactive-display', which better describes its expanded role as
a more general buffer-display knob for interactive commands ("/QUERY"
still among them).

Accompanying this addition are "display"-suffixed aliases for related
options 'erc-join-buffer' and 'erc-auto-query', which users have
reported as being difficult to discover and remember.  When the latter
option (now known as 'erc-receive-query-display') is nil, ERC uses
'erc-join-buffer' in its place, much like it does for
'erc-interactive-display'.  The old nil behavior can still be gotten
via the new compatibility flag 'erc-receive-query-display-defer'.  The
relatively new option 'erc-reconnect-display' has likewise been
renamed, this time for clarity, to 'erc-auto-reconnect-display'.

This release also introduces a few subtleties affecting the display of
new or reassociated buffers.  One involves buffers that already occupy
the selected window.  ERC now treats these as deserving of an implicit
'bury'.  An escape hatch for this and most other baked-in behaviors is
now available in the form of a new type variant recognized by all such
options.  That is, users can now specify their own function to
exercise full control over nearly all buffer-display related
decisions.  See the newly expanded doc strings of 'erc-buffer-display'
and friends, as well as Info node '(erc) display-buffer', for details.