2006-01-29 13:08:58 +00:00
|
|
|
\input texinfo
|
|
|
|
@c %**start of header
|
|
|
|
@setfilename ../info/erc
|
|
|
|
@settitle ERC Manual
|
|
|
|
@c %**end of header
|
|
|
|
|
|
|
|
@dircategory Emacs
|
|
|
|
@direntry
|
2006-03-25 23:15:32 +00:00
|
|
|
* ERC: (erc). Powerful, modular, and extensible IRC client for Emacs.
|
2006-01-29 13:08:58 +00:00
|
|
|
@end direntry
|
|
|
|
|
|
|
|
@syncodeindex fn cp
|
|
|
|
|
|
|
|
@copying
|
2006-11-20 06:50:29 +00:00
|
|
|
This manual is for ERC version 5.2 stable pre-release.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
Copyright @copyright{} 2005, 2006 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
|
|
under the terms of the GNU Free Documentation License, Version 1.2 or
|
|
|
|
any later version published by the Free Software Foundation; with no
|
|
|
|
Invariant Sections, Front-Cover texts, or Back-Cover Texts.
|
|
|
|
@end quotation
|
|
|
|
@end copying
|
|
|
|
|
|
|
|
@titlepage
|
|
|
|
@title ERC manual
|
|
|
|
@subtitle a full-featured IRC client
|
|
|
|
@subtitle for GNU Emacs and XEmacs
|
|
|
|
|
|
|
|
@c The following two commands
|
|
|
|
@c start the copyright page.
|
|
|
|
@page
|
|
|
|
@vskip 0pt plus 1filll
|
|
|
|
@insertcopying
|
|
|
|
@end titlepage
|
|
|
|
|
|
|
|
@c So the toc is printed at the start
|
|
|
|
@contents
|
|
|
|
|
|
|
|
@ifnottex
|
|
|
|
@node Top, Introduction, (dir), (dir)
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@top ERC
|
|
|
|
|
|
|
|
@insertcopying
|
|
|
|
@end ifnottex
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Introduction:: What is ERC?
|
|
|
|
* Obtaining ERC:: How to get ERC releases and development
|
|
|
|
versions.
|
|
|
|
* Installation:: Compiling and installing ERC.
|
|
|
|
* Getting Started:: Quick Start guide to using ERC.
|
|
|
|
* Keystroke Summary:: Keystrokes used in ERC buffers.
|
|
|
|
* Modules:: Available modules for ERC.
|
|
|
|
* Advanced Usage:: Cool ways of using ERC.
|
|
|
|
* Getting Help and Reporting Bugs::
|
|
|
|
* History:: The history of ERC.
|
|
|
|
* Concept Index:: Search for terms.
|
|
|
|
|
|
|
|
@detailmenu
|
|
|
|
--- The Detailed Node Listing ---
|
|
|
|
|
|
|
|
Obtaining ERC
|
|
|
|
|
|
|
|
* Releases:: Released versions of ERC.
|
|
|
|
* Development:: Latest unreleased development changes.
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
Advanced Usage
|
|
|
|
|
|
|
|
* Connecting:: Ways of connecting to an IRC server.
|
|
|
|
* Options:: Options that are available for ERC.
|
|
|
|
* Tips and Tricks:: Ways of enhancing your ERC experience.
|
|
|
|
* Sample Configuration:: An example configuration file.
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
@end detailmenu
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Introduction, Obtaining ERC, Top, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Introduction
|
|
|
|
|
|
|
|
ERC is a powerful, modular, and extensible IRC client for Emacs.
|
|
|
|
|
|
|
|
It comes with the following capabilities enabled by default.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item Flood control
|
|
|
|
@item Timestamps
|
|
|
|
@item Join channels automatically
|
|
|
|
@item Buttonize URLs, nicknames, and other text
|
|
|
|
@item Wrap long lines
|
|
|
|
@item Highlight or remove IRC control characters
|
|
|
|
@item Highlight pals, fools, and other keywords
|
|
|
|
@item Detect netsplits
|
|
|
|
@item Complete nicknames and commands in a programmable fashion
|
|
|
|
@item Make displayed lines read-only
|
|
|
|
@item Input history
|
|
|
|
@item Track channel activity in the mode-line
|
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@node Obtaining ERC, Installation, Introduction, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Obtaining ERC
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Releases:: Released versions of ERC.
|
|
|
|
* Development:: Latest unreleased development changes.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
These sections may be skipped if you are using the version of ERC that
|
|
|
|
comes with Emacs.
|
|
|
|
|
|
|
|
@node Releases, Development, Obtaining ERC, Obtaining ERC
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Releases
|
|
|
|
|
|
|
|
Choose to install a release if you want to minimize risk.
|
|
|
|
|
|
|
|
Errors are corrected in development first. User-visible changes will be
|
2006-07-14 02:29:50 +00:00
|
|
|
announced on the @email{erc-discuss@@gnu.org} mailing list.
|
2006-01-29 13:08:58 +00:00
|
|
|
@pxref{Getting Help and Reporting Bugs}.
|
|
|
|
|
|
|
|
@cindex releases, Debian package
|
|
|
|
@cindex Debian package for ERC
|
|
|
|
Debian users can get ERC via apt-get. The @file{erc} package is
|
|
|
|
available in the official Debian repository.
|
|
|
|
|
|
|
|
@cindex releases, from source
|
|
|
|
Alternatively, you can download the latest release from
|
2006-07-14 02:29:50 +00:00
|
|
|
@uref{http://ftp.gnu.org/gnu/erc}.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@node Development, , Releases, Obtaining ERC
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Development
|
|
|
|
@cindex development
|
|
|
|
|
|
|
|
Choose the development version if you want to live on the bleeding edge
|
|
|
|
of ERC development or try out new features before release.
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@subheading GNU Arch
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
ERC is developed using GNU Arch. Downloading ERC with Arch and staying
|
|
|
|
up-to-date involves the following steps.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@enumerate
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex GNU Arch, installing
|
2006-01-29 13:08:58 +00:00
|
|
|
@item Install arch
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item Debian: @kbd{apt-get install tla}.
|
|
|
|
@item Other distributions: see @uref{ftp://ftp.gnu.org/gnu/gnu-arch/}.
|
|
|
|
@end itemize
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex GNU Arch, downloading ERC
|
2006-01-29 13:08:58 +00:00
|
|
|
@item Register the archive.
|
|
|
|
@example
|
2006-07-14 02:29:50 +00:00
|
|
|
tla register-archive -f http://arch.sv.gnu.org/archives/erc/erc
|
2006-01-29 13:08:58 +00:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@item Download the ERC source code.
|
|
|
|
@example
|
|
|
|
# Download ERC into the @file{erc} directory.
|
2006-07-14 02:29:50 +00:00
|
|
|
tla get erc@@sv.gnu.org/erc--main--0 erc
|
2006-01-29 13:08:58 +00:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@item List upstream changes that are missing from your local copy.
|
|
|
|
Do this whenever you want to see whether new changes have been committed
|
|
|
|
to ERC.
|
|
|
|
|
|
|
|
@example
|
|
|
|
# Change to the source directory you are interested in.
|
|
|
|
cd erc/
|
|
|
|
|
|
|
|
# Display the summary of changes
|
|
|
|
tla missing --summary
|
|
|
|
@end example
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex GNU Arch, updating ERC
|
2006-01-29 13:08:58 +00:00
|
|
|
@item Update to the latest version by replaying missing changes.
|
|
|
|
@example
|
|
|
|
cd erc
|
2006-07-14 02:29:50 +00:00
|
|
|
tla update
|
2006-01-29 13:08:58 +00:00
|
|
|
@end example
|
|
|
|
|
|
|
|
@end enumerate
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
If you are new to Arch and want to learn more about developing with it,
|
|
|
|
you might find this tutorial helpful:
|
|
|
|
@uref{http://www.mwolson.org/projects/ArchTutorial.html}.
|
|
|
|
|
|
|
|
@subheading Development snapshots
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex development snapshot
|
|
|
|
Alternatively, the latest development snapshot may be downloaded in both
|
|
|
|
``.tar.gz'' and ``.zip'' forms.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@itemize @bullet
|
|
|
|
@item @uref{http://www.mwolson.org/static/dist/erc-latest.tar.gz}
|
|
|
|
@item @uref{http://www.mwolson.org/static/dist/erc-latest.zip}
|
|
|
|
@end itemize
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
@node Installation, Getting Started, Obtaining ERC, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Installation
|
|
|
|
|
|
|
|
ERC may be compiled and installed on your machine.
|
|
|
|
|
|
|
|
This section may be skipped if you are using the version of ERC that
|
|
|
|
comes with Emacs.
|
|
|
|
|
|
|
|
@subsubheading Compilation
|
|
|
|
|
|
|
|
This is an optional step, since Emacs Lisp source code does not
|
|
|
|
necessarily have to be byte-compiled. It will yield a speed increase,
|
|
|
|
though.
|
|
|
|
|
|
|
|
A working copy of Emacs or XEmacs is needed in order to compile ERC. By
|
|
|
|
default, the program that is installed with the name @command{emacs}
|
|
|
|
will be used.
|
|
|
|
|
|
|
|
If you want to use the @command{xemacs} binary to perform the
|
|
|
|
compilation, you would need to edit @file{Makefile} in the top-level
|
|
|
|
directory as follows. You can put either a full path to an Emacs or
|
|
|
|
XEmacs binary or just the command name, as long as it is in the
|
|
|
|
@env{PATH}.
|
|
|
|
|
|
|
|
@example
|
|
|
|
EMACS = xemacs
|
|
|
|
SITEFLAG = -no-site-file
|
|
|
|
@end example
|
|
|
|
|
|
|
|
Running @code{make} should compile the ERC source files in the
|
|
|
|
@file{lisp} directory.
|
|
|
|
|
|
|
|
@subsubheading Installation
|
|
|
|
|
|
|
|
ERC may be installed into your file hierarchy by doing the following.
|
|
|
|
|
|
|
|
Edit the @file{Makefile} file so that @env{ELISPDIR} points to where you
|
|
|
|
want the source and compiled ERC files to be installed and
|
|
|
|
@env{INFODIR} indicates where to put the ERC manual. Of course, you
|
|
|
|
will want to edit @env{EMACS} and @env{SITEFLAG} as shown in the
|
|
|
|
Compilation section if you are using XEmacs.
|
|
|
|
|
|
|
|
If you are installing ERC on a Debian system, you might want to change
|
|
|
|
the value of @env{INSTALLINFO} as specified in @file{Makefile}.
|
|
|
|
|
|
|
|
Run @code{make} as a normal user.
|
|
|
|
|
|
|
|
Run @code{make install} as the root user if you have chosen installation
|
|
|
|
locations that require this.
|
|
|
|
|
|
|
|
|
|
|
|
@node Getting Started, Keystroke Summary, Installation, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Getting Started
|
|
|
|
@cindex settings
|
|
|
|
|
|
|
|
@c PRE5_2: Mention .ercrc.el
|
|
|
|
|
|
|
|
To use ERC, add the directory containing its files to your
|
|
|
|
@code{load-path} variable, in your @file{.emacs} file. Then, load ERC
|
2006-07-14 02:29:50 +00:00
|
|
|
itself. An example follows.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@lisp
|
|
|
|
(require 'erc)
|
|
|
|
@end lisp
|
|
|
|
|
2006-11-20 06:50:29 +00:00
|
|
|
Once ERC is loaded, the command @kbd{M-x erc} will start ERC and
|
2006-01-29 13:08:58 +00:00
|
|
|
prompt for the server to connect to.
|
|
|
|
|
|
|
|
@c PRE5_2: Sample session, including:
|
|
|
|
@c - connect to Freenode
|
|
|
|
@c - /join #emacs
|
|
|
|
@c - see messages flying past, point out topic lines, messages, channel
|
|
|
|
@c members
|
|
|
|
@c - identifying your nick with NickServ (most IRC servers have this)
|
|
|
|
@c - talking to the channel
|
|
|
|
@c - open a /query buffer to talk to someone (must identify first in
|
|
|
|
@c FreeNode)
|
|
|
|
|
|
|
|
|
|
|
|
@node Keystroke Summary, Modules, Getting Started, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Keys Used in ERC
|
|
|
|
@cindex keystrokes
|
|
|
|
|
|
|
|
This is a summary of keystrokes available in every ERC buffer.
|
|
|
|
|
|
|
|
@table @kbd
|
|
|
|
|
|
|
|
@item C-a or <home> (`erc-bol')
|
|
|
|
Go to beginning of line or end of prompt.
|
|
|
|
|
|
|
|
@item RET (`erc-send-current-line')
|
|
|
|
Send the current line
|
|
|
|
|
|
|
|
@item TAB (`erc-complete-word')
|
|
|
|
If at prompt, complete the current word.
|
|
|
|
Otherwise, move to the next link or button.
|
|
|
|
|
|
|
|
@item M-TAB (`ispell-complete-word')
|
|
|
|
Complete the given word, using ispell.
|
|
|
|
|
|
|
|
@item C-c C-a (`erc-bol')
|
|
|
|
Go to beginning of line or end of prompt.
|
|
|
|
|
|
|
|
@item C-c C-b (`erc-iswitchb')
|
|
|
|
Use `iswitchb-read-buffer' to prompt for a ERC buffer to switch to.
|
|
|
|
|
|
|
|
@item C-c C-c (`erc-toggle-interpret-controls')
|
|
|
|
Toggle interpretation of control sequences in messages.
|
|
|
|
|
|
|
|
@item C-c C-d (`erc-input-action')
|
|
|
|
Interactively input a user action and send it to IRC.
|
|
|
|
|
|
|
|
@item C-c C-e (`erc-toggle-ctcp-autoresponse')
|
|
|
|
Toggle automatic CTCP replies (like VERSION and PING).
|
|
|
|
|
|
|
|
@item C-c C-f (`erc-toggle-flood-control')
|
|
|
|
Toggle use of flood control on sent messages.
|
|
|
|
|
|
|
|
@item C-c TAB (`erc-invite-only-mode')
|
|
|
|
Turn on the invite only mode (+i) for the current channel.
|
|
|
|
|
|
|
|
@item C-c C-j (`erc-join-channel')
|
|
|
|
Join channel. If point is at the beginning of a channel name, use that
|
|
|
|
as default.
|
|
|
|
|
|
|
|
@item C-c C-k (`erc-go-to-log-matches-buffer')
|
|
|
|
Interactively open an erc-log-matches buffer
|
|
|
|
|
|
|
|
@item C-c C-l (`erc-save-buffer-in-logs')
|
|
|
|
Append buffer contents to the log file, if logging is enabled.
|
|
|
|
|
|
|
|
@item C-c C-n (`erc-channel-names')
|
|
|
|
Run "/names #channel" in the current channel.
|
|
|
|
|
|
|
|
@item C-c C-o (`erc-get-channel-mode-from-keypress')
|
|
|
|
Read a key sequence and call the corresponding channel mode function.
|
2006-07-14 02:29:50 +00:00
|
|
|
After doing @kbd{C-c C-o}, type in a channel mode letter.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@kbd{C-g} means quit.
|
|
|
|
@kbd{RET} lets you type more than one mode at a time.
|
|
|
|
If @kbd{l} is pressed, @code{erc-set-channel-limit} gets called.
|
|
|
|
If @kbd{k} is pressed, @code{erc-set-channel-key} gets called.
|
2006-01-29 13:08:58 +00:00
|
|
|
Anything else will be sent to `erc-toggle-channel-mode'.
|
|
|
|
|
|
|
|
@item C-c C-p (`erc-part-from-channel')
|
|
|
|
Part from the current channel and prompt for a reason.
|
|
|
|
|
|
|
|
@item C-c C-q (`erc-quit-server')
|
|
|
|
Disconnect from current server after prompting for reason.
|
|
|
|
|
|
|
|
@item C-c C-r (`erc-remove-text-properties-region')
|
|
|
|
Clears the region (start,end) in object from all colors, etc.
|
|
|
|
|
|
|
|
@item C-c C-t (`erc-set-topic')
|
|
|
|
Prompt for a topic for the current channel.
|
|
|
|
|
|
|
|
@item C-c C-u (`erc-kill-input')
|
|
|
|
Kill current input line using `erc-bol' followed by `kill-line'.
|
|
|
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
|
|
|
|
@node Modules, Advanced Usage, Keystroke Summary, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Modules
|
|
|
|
@cindex modules
|
|
|
|
|
|
|
|
One way to add functionality to ERC is to customize which of its many
|
|
|
|
modules are loaded.
|
|
|
|
|
|
|
|
There is a spiffy customize interface, which may be reached by typing
|
|
|
|
@kbd{M-x customize-option erc-modules RET}. Alternatively, set
|
|
|
|
@code{erc-modules} manually and then call @code{erc-update-modules}.
|
|
|
|
|
|
|
|
The following is a list of available modules.
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
|
|
|
|
@cindex modules, autoaway
|
|
|
|
@item autoaway
|
2006-07-14 02:29:50 +00:00
|
|
|
Set away status automatically
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@cindex modules, autojoin
|
|
|
|
@item autojoin
|
|
|
|
Join channels automatically
|
|
|
|
|
|
|
|
@cindex modules, bbdb
|
|
|
|
@item bbdb
|
|
|
|
Integrate with the Big Brother Database
|
|
|
|
|
|
|
|
@cindex modules, button
|
|
|
|
@item button
|
|
|
|
Buttonize URLs, nicknames, and other text
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex modules, completion
|
|
|
|
@item pcomplete
|
|
|
|
Complete nicknames and commands (programmable)
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
@cindex modules, fill
|
|
|
|
@item fill
|
|
|
|
Wrap long lines
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex modules, hecomplete
|
|
|
|
@item completion
|
|
|
|
Complete nicknames and commands (old). This is the old module---you
|
|
|
|
might prefer the ``completion'' module instead.
|
|
|
|
|
|
|
|
@cindex modules, identd
|
|
|
|
@item identd
|
|
|
|
Launch an identd server on port 8113
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
@cindex modules, irccontrols
|
|
|
|
@item irccontrols
|
|
|
|
Highlight or remove IRC control characters
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex modules, list
|
|
|
|
@item list
|
|
|
|
List channels nicely in a separate buffer
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
@cindex modules, log
|
|
|
|
@item log
|
|
|
|
Save buffers in logs
|
|
|
|
|
|
|
|
@cindex modules, match
|
|
|
|
@item match
|
|
|
|
Highlight pals, fools, and other keywords
|
|
|
|
|
|
|
|
@cindex modules, netsplit
|
|
|
|
@item netsplit
|
|
|
|
Detect netsplits
|
|
|
|
|
|
|
|
@cindex modules, noncommands
|
|
|
|
@item noncommands
|
|
|
|
Don't display non-IRC commands after evaluation
|
|
|
|
|
|
|
|
@cindex modules, notify
|
|
|
|
@item notify
|
|
|
|
Notify when the online status of certain users changes
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex modules, page
|
|
|
|
@item page
|
|
|
|
Process CTCP PAGE requests from IRC
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@cindex modules, readonly
|
|
|
|
@item readonly
|
|
|
|
Make displayed lines read-only
|
|
|
|
|
|
|
|
@cindex modules, replace
|
|
|
|
@item replace
|
|
|
|
Replace text in messages
|
|
|
|
|
|
|
|
@cindex modules, ring
|
|
|
|
@item ring
|
|
|
|
Enable an input history
|
|
|
|
|
|
|
|
@cindex modules, scrolltobottom
|
|
|
|
@item scrolltobottom
|
|
|
|
Scroll to the bottom of the buffer
|
|
|
|
|
|
|
|
@cindex modules, services
|
|
|
|
@item services
|
|
|
|
Identify to Nickserv (IRC Services) automatically
|
|
|
|
|
|
|
|
@cindex modules, smiley
|
|
|
|
@item smiley
|
|
|
|
Convert smileys to pretty icons
|
|
|
|
|
|
|
|
@cindex modules, sound
|
|
|
|
@item sound
|
|
|
|
Play sounds when you receive CTCP SOUND requests
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@cindex modules, spelling
|
|
|
|
@item spelling
|
|
|
|
Check spelling of messages
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@cindex modules, stamp
|
|
|
|
@item stamp
|
|
|
|
Add timestamps to messages
|
|
|
|
|
|
|
|
@cindex modules, track
|
|
|
|
@item track
|
|
|
|
Track channel activity in the mode-line
|
|
|
|
|
|
|
|
@cindex modules, truncate
|
|
|
|
@item truncate
|
|
|
|
Truncate buffers to a certain size
|
|
|
|
|
|
|
|
@cindex modules, unmorse
|
|
|
|
@item unmorse
|
|
|
|
Translate morse code in messages
|
|
|
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@c PRE5_2: Document every option of every module in its own subnode
|
|
|
|
|
|
|
|
|
|
|
|
@node Advanced Usage, Getting Help and Reporting Bugs, Modules, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Advanced Usage
|
|
|
|
@cindex advanced topics
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@menu
|
|
|
|
* Connecting:: Ways of connecting to an IRC server.
|
|
|
|
* Options:: Options that are available for ERC.
|
|
|
|
* Tips and Tricks:: Ways of enhancing your ERC experience.
|
|
|
|
* Sample Configuration:: An example configuration file.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Connecting, Options, Advanced Usage, Advanced Usage
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Connecting to an IRC Server
|
|
|
|
@cindex connecting
|
|
|
|
|
2006-11-20 06:50:29 +00:00
|
|
|
The easiest way to connect to an IRC server is to call @kbd{M-x erc}.
|
|
|
|
If you want to assign this function to a keystroke, the following will
|
|
|
|
help you figure out its parameters.
|
2006-07-14 02:29:50 +00:00
|
|
|
|
2006-11-20 06:50:29 +00:00
|
|
|
@defun erc
|
2006-07-14 02:29:50 +00:00
|
|
|
Select connection parameters and run ERC.
|
|
|
|
Non-interactively, it takes the following keyword arguments.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item @var{server}
|
|
|
|
@item @var{port}
|
|
|
|
@item @var{nick}
|
|
|
|
@item @var{password}
|
|
|
|
@item @var{full-name}
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
That is, if called with the following arguments, @var{server} and
|
|
|
|
@var{full-name} will be set to those values, whereas
|
|
|
|
@code{erc-compute-port}, @code{erc-compute-nick} and
|
|
|
|
@code{erc-compute-full-name} will be invoked for the values of the other
|
|
|
|
parameters.
|
|
|
|
|
|
|
|
@example
|
2006-11-20 06:50:29 +00:00
|
|
|
(erc :server "irc.freenode.net" :full-name "Harry S Truman")
|
2006-07-14 02:29:50 +00:00
|
|
|
@end example
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@subheading Server
|
|
|
|
|
|
|
|
@defun erc-compute-server &optional server
|
|
|
|
Return an IRC server name.
|
|
|
|
|
|
|
|
This tries a number of increasingly more default methods until a non-nil
|
|
|
|
value is found.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item @var{server} (the argument passed to this function)
|
|
|
|
@item The @code{erc-server} option
|
|
|
|
@item The value of the IRCSERVER environment variable
|
|
|
|
@item The @code{erc-default-server} variable
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defopt erc-server nil
|
|
|
|
IRC server to use if one is not provided.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@subheading Port
|
|
|
|
|
|
|
|
@defun erc-compute-port &optional port
|
|
|
|
Return a port for an IRC server.
|
|
|
|
|
|
|
|
This tries a number of increasingly more default methods until a non-nil
|
|
|
|
value is found.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item @var{port} (the argument passed to this function)
|
|
|
|
@item The @code{erc-port} option
|
|
|
|
@item The @code{erc-default-port} variable
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defopt erc-port
|
|
|
|
IRC port to use if not specified.
|
|
|
|
|
|
|
|
This can be either a string or a number.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@subheading Nick
|
|
|
|
|
|
|
|
@defun erc-compute-nick &optional nick
|
|
|
|
Return user's IRC nick.
|
|
|
|
|
|
|
|
This tries a number of increasingly more default methods until a
|
|
|
|
non-nil value is found.
|
|
|
|
|
|
|
|
@itemize
|
|
|
|
@item @var{nick} (the argument passed to this function)
|
|
|
|
@item The @code{erc-nick} option
|
|
|
|
@item The value of the IRCNICK environment variable
|
|
|
|
@item The result from the @code{user-login-name} function
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defopt erc-nick
|
|
|
|
Nickname to use if one is not provided.
|
|
|
|
|
|
|
|
This can be either a string, or a list of strings.
|
|
|
|
In the latter case, if the first nick in the list is already in use,
|
|
|
|
other nicks are tried in the list order.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@defopt erc-nick-uniquifier
|
|
|
|
The string to append to the nick if it is already in use.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@defopt erc-try-new-nick-p
|
|
|
|
If the nickname you chose isn't available, and this option is non-nil,
|
|
|
|
ERC should automatically attempt to connect with another nickname.
|
|
|
|
|
|
|
|
You can manually set another nickname with the /NICK command.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@subheading Full name
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@defun erc-compute-full-name &optional full-name
|
|
|
|
Return user's full name.
|
|
|
|
|
|
|
|
This tries a number of increasingly more default methods until a
|
|
|
|
non-nil value is found.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item @var{full-name} (the argument passed to this function)
|
|
|
|
@item The @code{erc-user-full-name} option
|
|
|
|
@item The value of the IRCNAME environment variable
|
|
|
|
@item The result from the @code{user-full-name} function
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defopt erc-user-full-name
|
|
|
|
User full name.
|
|
|
|
|
|
|
|
This can be either a string or a function to call.
|
|
|
|
@end defopt
|
|
|
|
|
|
|
|
@node Options, Tips and Tricks, Connecting, Advanced Usage
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Options
|
|
|
|
@cindex options
|
|
|
|
|
|
|
|
@c PRE5_2: (Node) Document every ERC option (module options go in
|
|
|
|
@c previous chapter)
|
|
|
|
|
|
|
|
This section has not yet been written.
|
|
|
|
|
|
|
|
@node Tips and Tricks, Sample Configuration, Options, Advanced Usage
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Tips and Tricks
|
|
|
|
@cindex tips and tricks
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@c PRE5_2: (Node) Tips and tricks
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
This section has not yet been written.
|
|
|
|
|
|
|
|
@node Sample Configuration, , Tips and Tricks, Advanced Usage
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@section Sample Configuration
|
|
|
|
@cindex configuration, sample
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
@c PRE5_2: (Node) Sample configs
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
This section has not yet been written.
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@node Getting Help and Reporting Bugs, History, Advanced Usage, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter Getting Help and Reporting Bugs
|
|
|
|
@cindex help, getting
|
|
|
|
@cindex bugs, reporting
|
|
|
|
|
|
|
|
After you have read this guide, if you still have questions about ERC,
|
|
|
|
or if you have bugs to report, there are several places you can go.
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
|
|
|
@item
|
|
|
|
@uref{http://www.emacswiki.org/cgi-bin/wiki/EmacsIRCClient} is the
|
|
|
|
emacswiki.org page for ERC. Anyone may add tips, hints, or bug
|
|
|
|
descriptions to it.
|
|
|
|
|
|
|
|
@item
|
2006-07-14 02:29:50 +00:00
|
|
|
There are several mailing lists for ERC. To subscribe, visit
|
|
|
|
@uref{http://savannah.gnu.org/mail/?group=erc}.
|
|
|
|
|
|
|
|
The mailing lists are also available on Gmane.
|
|
|
|
(@url{http://gmane.org/}). Gmane provides additional methods for
|
|
|
|
accessing the mailing lists, adding content to them, and searching them.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
@enumerate
|
|
|
|
@item gmane.emacs.erc.announce
|
|
|
|
Announcements
|
|
|
|
|
|
|
|
@item gmane.emacs.erc.discuss
|
|
|
|
General discussion
|
|
|
|
|
|
|
|
@item gmane.emacs.erc.cvs
|
|
|
|
Log messages for changes to the ERC source code
|
|
|
|
|
|
|
|
@end enumerate
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@item
|
|
|
|
You can visit the IRC Freenode channel @samp{#emacs}. Many of the
|
|
|
|
contributors are frequently around and willing to answer your
|
|
|
|
questions.
|
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
|
|
@node History, Concept Index, Getting Help and Reporting Bugs, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@chapter History
|
|
|
|
@cindex history, of ERC
|
|
|
|
|
|
|
|
ERC was originally written by Alexander L. Belikoff
|
|
|
|
@email{abel@@bfr.co.il} and Sergey Berezin
|
|
|
|
@email{sergey.berezin@@cs.cmu.edu}. They stopped development around
|
2006-07-14 02:29:50 +00:00
|
|
|
December 1999. Their last released version was ERC 2.0.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
P.S.: If one of the original developers of ERC reads this, we'd like to
|
|
|
|
receive additional information for this file and hear comments in
|
|
|
|
general.
|
|
|
|
|
|
|
|
@itemize
|
|
|
|
@item 2001
|
|
|
|
|
|
|
|
In June 2001, Mario Lang @email{mlang@@delysid.org} and Alex Schroeder
|
|
|
|
@email{alex@@gnu.org} took over development and created a ERC Project at
|
2006-07-14 02:29:50 +00:00
|
|
|
@uref{http://sourceforge.net/projects/erc}.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
In reaction to a mail about the new ERC development effort, Sergey
|
|
|
|
Berezin said, ``First of all, I'm glad that my version of ERC is being
|
|
|
|
used out there. The thing is, I do not have free time and enough
|
|
|
|
incentive anymore to work on ERC, so I would be happy if you guys take
|
|
|
|
over the project entirely.''
|
2006-01-29 13:08:58 +00:00
|
|
|
|
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
(Custom Filling and Breaking, Custom Braces, Syntactic Symbols)
(Line-Up Functions, Custom Macros):
* ediff.texi (Window and Frame Configuration)
(Highlighting Difference Regions, Highlighting Difference Regions):
* emacs-mime.texi (Display Customization):
* erc.texi (History):
* eshell.texi (Known problems):
* eudc.texi (Overview, BBDB):
* gnus.texi (NNTP, IMAP, Advanced Scoring Examples)
(The problem of spam, SpamOracle, Extending the Spam package)
(Conformity, Terminology):
* idlwave.texi (Routine Info, Routine Info)
(Class and Keyword Inheritance, Padding Operators)
(Breakpoints and Stepping, Electric Debug Mode)
(Examining Variables, Troubleshooting):
* org.texi (Creating timestamps):
* reftex.texi (Commands, Options, Changes):
* tramp.texi (Inline methods, Password caching)
(Auto-save and Backup, Issues):
* vip.texi (Files, Commands in Insert Mode):
* viper.texi (Emacs Preliminaries, States in Viper)
(Packages that Change Keymaps, Viper Specials, Groundwork):
* xresmini.texi (GTK resources):
Fix various typos.
2006-06-05 11:44:42 +00:00
|
|
|
So we happily hacked away on ERC, and soon after (September 2001)
|
2006-01-29 13:08:58 +00:00
|
|
|
released the next "stable" version, 2.1.
|
|
|
|
|
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
(Custom Filling and Breaking, Custom Braces, Syntactic Symbols)
(Line-Up Functions, Custom Macros):
* ediff.texi (Window and Frame Configuration)
(Highlighting Difference Regions, Highlighting Difference Regions):
* emacs-mime.texi (Display Customization):
* erc.texi (History):
* eshell.texi (Known problems):
* eudc.texi (Overview, BBDB):
* gnus.texi (NNTP, IMAP, Advanced Scoring Examples)
(The problem of spam, SpamOracle, Extending the Spam package)
(Conformity, Terminology):
* idlwave.texi (Routine Info, Routine Info)
(Class and Keyword Inheritance, Padding Operators)
(Breakpoints and Stepping, Electric Debug Mode)
(Examining Variables, Troubleshooting):
* org.texi (Creating timestamps):
* reftex.texi (Commands, Options, Changes):
* tramp.texi (Inline methods, Password caching)
(Auto-save and Backup, Issues):
* vip.texi (Files, Commands in Insert Mode):
* viper.texi (Emacs Preliminaries, States in Viper)
(Packages that Change Keymaps, Viper Specials, Groundwork):
* xresmini.texi (GTK resources):
Fix various typos.
2006-06-05 11:44:42 +00:00
|
|
|
Most of the development of the new ERC happened on #emacs on
|
2006-07-14 02:29:50 +00:00
|
|
|
irc.openprojects.net. Over time, many people contributed code, ideas,
|
|
|
|
bugfixes, and a lot of alpha/beta/gamma testing.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
See the @file{CREDITS} file for a list of contributors.
|
|
|
|
|
|
|
|
@item 2003
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
ERC 3.0 was released.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@item 2004
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
ERC 4.0 was released.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@item 2005
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
ERC 5.0 was released. Michael Olson @email{mwolson@@gnu.org} became
|
2006-01-29 13:08:58 +00:00
|
|
|
the release manager and eventually the maintainer.
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
After some discussion between him and the Emacs developers, it was
|
2006-01-29 13:08:58 +00:00
|
|
|
decided to include ERC in Emacs.
|
|
|
|
|
|
|
|
@item 2006
|
|
|
|
|
2006-07-14 02:29:50 +00:00
|
|
|
ERC 5.1 was released. It was subsequently included in Emacs 22.
|
|
|
|
|
|
|
|
ERC became an official GNU project, and development moved to
|
|
|
|
@uref{http://sv.gnu.org/projects/erc}. We switched to using GNU Arch as
|
|
|
|
our revision control system. Our mailing list address changed as well.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@node Concept Index, , History, Top
|
|
|
|
@comment node-name, next, previous, up
|
|
|
|
@unnumbered Index
|
|
|
|
|
|
|
|
@printindex cp
|
|
|
|
|
|
|
|
@bye
|
|
|
|
|
|
|
|
@ignore
|
|
|
|
arch-tag: cf9cfaff-fc12-4297-ad15-ec2493002b1e
|
|
|
|
@end ignore
|