Original author(s)Alexander L. Belikoff
Sergey Berezin
Developer(s)Amin Bandali, F. Jason Park, and other GNU Emacs developers and contributors
Stable releaseERC improvements are now released as part of Emacs. [±]
Written inEmacs Lisp
Size944 KB
TypeIRC client

ERC is an Internet Relay Chat (IRC) client integrated into GNU Emacs. It is written in Emacs Lisp.[1][2]


ERC includes[3] message timestamping, automatic channel joining, flood control,[4] and auto-completion of nicks and commands. ERC can highlight nicks and text for conversation tracking, highlight and optionally remove control characters, and allows URLs, nicknames and text to be converted to buttons. It provides input history, and separate buffers per server and channel. Notifications include channel activity on the Emacs mode-line, user online status, and channel tracking of hidden conversations. ERC is multi-lingual, and provides auto-script loading at startup.[3]

ERC has a modular design, with many features implemented in "more than two dozen loadable modules" included in the default setup, such as autoaway, fill (splits long lines), log (saves chat buffers), spelling, bbdb, which connects ERC to Emacs' BBDB for contact management, and replace, which auto-replaces given text in messages.[1] ERC supports SSL/TLS for encrypted IRC communication.[5]


According to the GNU project, ERC was first developed by Alexander L. Belikoff and Sergey Berezin.[6] Berezin wrote that ERC was "originally written by Alexander L. Belikoff, then I improved it in many ways and promoted to version 2.0".[7] The pair stopped development in 1999.[6] Mario Lang wrote that as of 2001 ERC had been "apparently abandoned", so he and Alexander Schroeder adopted it and created the ERC SourceForge project.[8] Berezin responded positively to news of the renewed effort and bestowed stewardship to the new developers; in the ensuing years, versions 2.1, 3, 4, 5, and 5.1 were released.[6] ERC development moved from SourceForge to GNU in May 2006,[9][10] and ERC was officially incorporated into Emacs release 22.1 on June 3, 2007.[11] ERC development now takes place inside the Emacs source-code tree.

Related work

ERC is one of two IRC clients included in the Emacs distribution; rcirc is the other.[1] Circe and the "ascetic" ZenIRC are also Emacs-based IRC clients.[1] According to its author, Circe incorporates ideas from ERC such as its activity tracker and others; it was developed as ERC became "difficult to debug and improve."[12]

See also


  1. ^ a b c d Stutz, Michael (2007-01-15). "Chat it up in Emacs with IRC modes". Retrieved 2009-10-12.
  2. ^ Jonathan Corbet (2007-01-16). "The Grumpy Editor's Guide to graphical IRC clients". The LWN Grumpy Editor series. Retrieved 2009-10-12.
  3. ^ a b "ERC". 10 of the Best Free Linux IRC Clients. LinuxLinks. 2009-09-13. Retrieved 2009-10-12.
  4. ^ Grimes, Roger A. (2001). "Flooding". Malicious Mobile Code: Virus Protection for Windows. O'Reilly Media. p. 240. ISBN 9781565926820. irc flood control.
  5. ^ "ERC SSL".
  6. ^ a b c "History". Emacs Manual. GNU.
  7. ^ Berezin, Sergey. "Projects". Archived from the original on 2012-03-27. Retrieved 2011-07-13.
  8. ^ Lang, Mario (2003-03-14). "ERC -- The Emacs IRC Client". Mario Lang (ERC dev) personal website. Archived from the original on 2011-05-14. Retrieved 2009-10-12.
  9. ^ "ERC - an IRC client for Emacs". GNU. Retrieved 2009-10-12.
  10. ^ "ERC Project".
  11. ^ Stallman, Richard (2007-06-03). "Emacs 22.1 released". info-gnu-emacs (Mailing list). Retrieved 2009-10-16.
  12. ^ Schäfer, Jorgen (2005-10-21). "Circe - Yet Another Client for IRC in Emacs". Retrieved 2009-10-12. The best feature of Circe is the activity tracker, which many will know from ERC.