comparison man/erc.texi @ 71883:3d0d6e217db9

Update for ERC 5.1.3. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-348 Creator: Michael Olson <mwolson@gnu.org>
author Miles Bader <miles@gnu.org>
date Fri, 14 Jul 2006 02:29:50 +0000
parents b7261e09f8e4
children 268989954f79
comparison
equal deleted inserted replaced
71882:98630b6d51a1 71883:3d0d6e217db9
10 @end direntry 10 @end direntry
11 11
12 @syncodeindex fn cp 12 @syncodeindex fn cp
13 13
14 @copying 14 @copying
15 This manual is for ERC version 5.1.2. 15 This manual is for ERC version 5.1.3.
16 16
17 Copyright @copyright{} 2005, 2006 Free Software Foundation, Inc. 17 Copyright @copyright{} 2005, 2006 Free Software Foundation, Inc.
18 18
19 @quotation 19 @quotation
20 Permission is granted to copy, distribute and/or modify this document 20 Permission is granted to copy, distribute and/or modify this document
65 65
66 Obtaining ERC 66 Obtaining ERC
67 67
68 * Releases:: Released versions of ERC. 68 * Releases:: Released versions of ERC.
69 * Development:: Latest unreleased development changes. 69 * Development:: Latest unreleased development changes.
70
71 Advanced Usage
72
73 * Connecting:: Ways of connecting to an IRC server.
74 * Options:: Options that are available for ERC.
75 * Tips and Tricks:: Ways of enhancing your ERC experience.
76 * Sample Configuration:: An example configuration file.
70 77
71 @end detailmenu 78 @end detailmenu
72 @end menu 79 @end menu
73 80
74 @node Introduction, Obtaining ERC, Top, Top 81 @node Introduction, Obtaining ERC, Top, Top
112 @section Releases 119 @section Releases
113 120
114 Choose to install a release if you want to minimize risk. 121 Choose to install a release if you want to minimize risk.
115 122
116 Errors are corrected in development first. User-visible changes will be 123 Errors are corrected in development first. User-visible changes will be
117 announced on the @email{erc-help@@lists.sourceforge.net} mailing list. 124 announced on the @email{erc-discuss@@gnu.org} mailing list.
118 @pxref{Getting Help and Reporting Bugs}. 125 @pxref{Getting Help and Reporting Bugs}.
119 126
120 @cindex releases, Debian package 127 @cindex releases, Debian package
121 @cindex Debian package for ERC 128 @cindex Debian package for ERC
122 Debian users can get ERC via apt-get. The @file{erc} package is 129 Debian users can get ERC via apt-get. The @file{erc} package is
123 available in the official Debian repository. 130 available in the official Debian repository.
124 131
125 @cindex releases, from source 132 @cindex releases, from source
126 Alternatively, you can download the latest release from 133 Alternatively, you can download the latest release from
127 @uref{http://sourceforge.net/project/showfiles.php?group_id=30118}. 134 @uref{http://ftp.gnu.org/gnu/erc}.
128 135
129 @node Development, , Releases, Obtaining ERC 136 @node Development, , Releases, Obtaining ERC
130 @comment node-name, next, previous, up 137 @comment node-name, next, previous, up
131 @section Development 138 @section Development
132 @cindex development 139 @cindex development
133 140
134 Choose the development version if you want to live on the bleeding edge 141 Choose the development version if you want to live on the bleeding edge
135 of ERC development or try out new features before release. 142 of ERC development or try out new features before release.
136 143
137 @subsection Using CVS 144 @subheading GNU Arch
138 @cindex CVS, using 145
139 146 ERC is developed using GNU Arch. Downloading ERC with Arch and staying
140 ERC is primarily developed using a CVS repository on sourceforge.net. 147 up-to-date involves the following steps.
141 To check out a copy of the latest changes, do the following.
142
143 @example
144 cvs -d:pserver:anonymous@@cvs.sourceforge.net:/cvsroot/erc login
145 cvs -z3 -d:pserver:anonymous@@cvs.sourceforge.net:/cvsroot/erc co -P erc
146 @end example
147
148 @cindex CVS snapshot
149 Alternatively, the latest CVS snapshot may be downloaded in the
150 following forms.
151
152 @itemize @bullet
153 @item http://mwolson.org/static/dist/erc-latest.tar.gz
154 @item http://mwolson.org/static/dist/erc-latest.zip
155 @end itemize
156
157 @subsection Using the GNU Arch Revision Control System
158 @cindex arch revision control system, using
159 The Arch revision control system allows you to retrieve previous
160 versions and select specific features and bug fixes.
161
162 Michael Olson maintains an official Arch branch for ERC which stays
163 current with the CVS repository for ERC. If you would like to
164 contribute to ERC development, and would prefer to use a modern Revision
165 Control System, feel free to make your own branch.
166
167 If you are new to Arch, you might find this tutorial helpful:
168 @uref{http://www.mwolson.org/projects/ArchTutorial.html}.
169
170 Downloading ERC with Arch and staying up-to-date involves the following
171 steps.
172 148
173 @enumerate 149 @enumerate
150 @cindex GNU Arch, installing
174 @item Install arch 151 @item Install arch
175 152
176 @itemize @bullet 153 @itemize @bullet
177 @item Debian: @kbd{apt-get install tla}. 154 @item Debian: @kbd{apt-get install tla}.
178 @item Other distributions: see @uref{ftp://ftp.gnu.org/gnu/gnu-arch/}. 155 @item Other distributions: see @uref{ftp://ftp.gnu.org/gnu/gnu-arch/}.
179 @end itemize 156 @end itemize
180 157
158 @cindex GNU Arch, downloading ERC
181 @item Register the archive. 159 @item Register the archive.
182 @example 160 @example
183 tla register-archive -f http://www.mwolson.org/archives/2006 161 tla register-archive -f http://arch.sv.gnu.org/archives/erc/erc
184 @end example 162 @end example
185 163
186 @item Download the ERC source code. 164 @item Download the ERC source code.
187 @example 165 @example
188 # Download ERC into the @file{erc} directory. 166 # Download ERC into the @file{erc} directory.
189 tla get mwolson@@gnu.org--2006/erc--cvs--0 erc 167 tla get erc@@sv.gnu.org/erc--main--0 erc
190 @end example 168 @end example
191 169
192 @item List upstream changes that are missing from your local copy. 170 @item List upstream changes that are missing from your local copy.
193 Do this whenever you want to see whether new changes have been committed 171 Do this whenever you want to see whether new changes have been committed
194 to ERC. 172 to ERC.
199 177
200 # Display the summary of changes 178 # Display the summary of changes
201 tla missing --summary 179 tla missing --summary
202 @end example 180 @end example
203 181
204 @cindex updating ERC with Arch 182 @cindex GNU Arch, updating ERC
205 @item Update to the latest version by replaying missing changes. 183 @item Update to the latest version by replaying missing changes.
206 @example 184 @example
207 cd erc 185 cd erc
208 tla replay 186 tla update
209 @end example 187 @end example
210 188
211 @end enumerate 189 @end enumerate
212 190
213 There are other ways to interact with the ERC archive. 191 If you are new to Arch and want to learn more about developing with it,
214 192 you might find this tutorial helpful:
215 @itemize 193 @uref{http://www.mwolson.org/projects/ArchTutorial.html}.
216 @item Browse arch repository: @uref{http://www.mwolson.org/archives/} 194
217 @item Latest development snapshot: @uref{http://www.mwolson.org/static/dist/erc-latest.tar.gz} 195 @subheading Development snapshots
218 @end itemize 196
219 197 @cindex development snapshot
220 The latest development snapshot will be kept up-to-date since it is 198 Alternatively, the latest development snapshot may be downloaded in both
221 updated at the same time as the Arch repository. 199 ``.tar.gz'' and ``.zip'' forms.
200
201 @itemize @bullet
202 @item @uref{http://www.mwolson.org/static/dist/erc-latest.tar.gz}
203 @item @uref{http://www.mwolson.org/static/dist/erc-latest.zip}
204 @end itemize
222 205
223 206
224 @node Installation, Getting Started, Obtaining ERC, Top 207 @node Installation, Getting Started, Obtaining ERC, Top
225 @comment node-name, next, previous, up 208 @comment node-name, next, previous, up
226 @chapter Installation 209 @chapter Installation
280 263
281 @c PRE5_2: Mention .ercrc.el 264 @c PRE5_2: Mention .ercrc.el
282 265
283 To use ERC, add the directory containing its files to your 266 To use ERC, add the directory containing its files to your
284 @code{load-path} variable, in your @file{.emacs} file. Then, load ERC 267 @code{load-path} variable, in your @file{.emacs} file. Then, load ERC
285 itself along with any extra modules you desire. An example follows. 268 itself. An example follows.
286 269
287 @lisp 270 @lisp
288 (require 'erc) 271 (require 'erc)
289
290 (require 'erc-spelling)
291 @end lisp 272 @end lisp
292 273
293 Once this is loaded, the command @kbd{M-x erc-select} will start ERC and 274 Once ERC is loaded, the command @kbd{M-x erc-select} will start ERC and
294 prompt for the server to connect to. 275 prompt for the server to connect to.
295 276
296 @c PRE5_2: Sample session, including: 277 @c PRE5_2: Sample session, including:
297 @c - connect to Freenode 278 @c - connect to Freenode
298 @c - /join #emacs 279 @c - /join #emacs
360 @item C-c C-n (`erc-channel-names') 341 @item C-c C-n (`erc-channel-names')
361 Run "/names #channel" in the current channel. 342 Run "/names #channel" in the current channel.
362 343
363 @item C-c C-o (`erc-get-channel-mode-from-keypress') 344 @item C-c C-o (`erc-get-channel-mode-from-keypress')
364 Read a key sequence and call the corresponding channel mode function. 345 Read a key sequence and call the corresponding channel mode function.
365 After doing C-c C-o type in a channel mode letter. 346 After doing @kbd{C-c C-o}, type in a channel mode letter.
366 347
367 C-g means quit. 348 @kbd{C-g} means quit.
368 RET let's you type more than one mode at a time. 349 @kbd{RET} lets you type more than one mode at a time.
369 If "l" is pressed, `erc-set-channel-limit' gets called. 350 If @kbd{l} is pressed, @code{erc-set-channel-limit} gets called.
370 If "k" is pressed, `erc-set-channel-key' gets called. 351 If @kbd{k} is pressed, @code{erc-set-channel-key} gets called.
371 Anything else will be sent to `erc-toggle-channel-mode'. 352 Anything else will be sent to `erc-toggle-channel-mode'.
372 353
373 @item C-c C-p (`erc-part-from-channel') 354 @item C-c C-p (`erc-part-from-channel')
374 Part from the current channel and prompt for a reason. 355 Part from the current channel and prompt for a reason.
375 356
404 385
405 @table @code 386 @table @code
406 387
407 @cindex modules, autoaway 388 @cindex modules, autoaway
408 @item autoaway 389 @item autoaway
409 Set away status automatically. 390 Set away status automatically
410 391
411 @cindex modules, autojoin 392 @cindex modules, autojoin
412 @item autojoin 393 @item autojoin
413 Join channels automatically 394 Join channels automatically
414 395
418 399
419 @cindex modules, button 400 @cindex modules, button
420 @item button 401 @item button
421 Buttonize URLs, nicknames, and other text 402 Buttonize URLs, nicknames, and other text
422 403
404 @cindex modules, completion
405 @item pcomplete
406 Complete nicknames and commands (programmable)
407
423 @cindex modules, fill 408 @cindex modules, fill
424 @item fill 409 @item fill
425 Wrap long lines 410 Wrap long lines
426 411
412 @cindex modules, hecomplete
413 @item completion
414 Complete nicknames and commands (old). This is the old module---you
415 might prefer the ``completion'' module instead.
416
417 @cindex modules, identd
418 @item identd
419 Launch an identd server on port 8113
420
427 @cindex modules, irccontrols 421 @cindex modules, irccontrols
428 @item irccontrols 422 @item irccontrols
429 Highlight or remove IRC control characters 423 Highlight or remove IRC control characters
430 424
425 @cindex modules, list
426 @item list
427 List channels nicely in a separate buffer
428
431 @cindex modules, log 429 @cindex modules, log
432 @item log 430 @item log
433 Save buffers in logs 431 Save buffers in logs
434 432
435 @cindex modules, match 433 @cindex modules, match
446 444
447 @cindex modules, notify 445 @cindex modules, notify
448 @item notify 446 @item notify
449 Notify when the online status of certain users changes 447 Notify when the online status of certain users changes
450 448
451 @cindex modules, pcomplete 449 @cindex modules, page
452 @item pcomplete 450 @item page
453 Complete nicknames and commands (programmable) 451 Process CTCP PAGE requests from IRC
454 452
455 @cindex modules, readonly 453 @cindex modules, readonly
456 @item readonly 454 @item readonly
457 Make displayed lines read-only 455 Make displayed lines read-only
458 456
478 476
479 @cindex modules, sound 477 @cindex modules, sound
480 @item sound 478 @item sound
481 Play sounds when you receive CTCP SOUND requests 479 Play sounds when you receive CTCP SOUND requests
482 480
483 @cindex modules, spell 481 @cindex modules, spelling
484 @item spell 482 @item spelling
485 Check spelling 483 Check spelling of messages
486 484
487 @cindex modules, stamp 485 @cindex modules, stamp
488 @item stamp 486 @item stamp
489 Add timestamps to messages 487 Add timestamps to messages
490 488
508 @node Advanced Usage, Getting Help and Reporting Bugs, Modules, Top 506 @node Advanced Usage, Getting Help and Reporting Bugs, Modules, Top
509 @comment node-name, next, previous, up 507 @comment node-name, next, previous, up
510 @chapter Advanced Usage 508 @chapter Advanced Usage
511 @cindex advanced topics 509 @cindex advanced topics
512 510
513 Write me. 511 @menu
514 512 * Connecting:: Ways of connecting to an IRC server.
515 @c PRE5_2: (Node) Document every ERC option 513 * Options:: Options that are available for ERC.
514 * Tips and Tricks:: Ways of enhancing your ERC experience.
515 * Sample Configuration:: An example configuration file.
516 @end menu
517
518 @node Connecting, Options, Advanced Usage, Advanced Usage
519 @comment node-name, next, previous, up
520 @section Connecting to an IRC Server
521 @cindex connecting
522
523 The easiest way to connect to an IRC server is to call
524 @kbd{M-x erc-select}. If you want to assign this function to a
525 keystroke, the following will help you figure out its parameters.
526
527 @defun erc-select
528 Select connection parameters and run ERC.
529 Non-interactively, it takes the following keyword arguments.
530
531 @itemize @bullet
532 @item @var{server}
533 @item @var{port}
534 @item @var{nick}
535 @item @var{password}
536 @item @var{full-name}
537 @end itemize
538
539 That is, if called with the following arguments, @var{server} and
540 @var{full-name} will be set to those values, whereas
541 @code{erc-compute-port}, @code{erc-compute-nick} and
542 @code{erc-compute-full-name} will be invoked for the values of the other
543 parameters.
544
545 @example
546 (erc-select :server "irc.freenode.net" :full-name "Harry S Truman")
547 @end example
548 @end defun
549
550 @subheading Server
551
552 @defun erc-compute-server &optional server
553 Return an IRC server name.
554
555 This tries a number of increasingly more default methods until a non-nil
556 value is found.
557
558 @itemize @bullet
559 @item @var{server} (the argument passed to this function)
560 @item The @code{erc-server} option
561 @item The value of the IRCSERVER environment variable
562 @item The @code{erc-default-server} variable
563 @end itemize
564
565 @end defun
566
567 @defopt erc-server nil
568 IRC server to use if one is not provided.
569 @end defopt
570
571 @subheading Port
572
573 @defun erc-compute-port &optional port
574 Return a port for an IRC server.
575
576 This tries a number of increasingly more default methods until a non-nil
577 value is found.
578
579 @itemize @bullet
580 @item @var{port} (the argument passed to this function)
581 @item The @code{erc-port} option
582 @item The @code{erc-default-port} variable
583 @end itemize
584
585 @end defun
586
587 @defopt erc-port
588 IRC port to use if not specified.
589
590 This can be either a string or a number.
591 @end defopt
592
593 @subheading Nick
594
595 @defun erc-compute-nick &optional nick
596 Return user's IRC nick.
597
598 This tries a number of increasingly more default methods until a
599 non-nil value is found.
600
601 @itemize
602 @item @var{nick} (the argument passed to this function)
603 @item The @code{erc-nick} option
604 @item The value of the IRCNICK environment variable
605 @item The result from the @code{user-login-name} function
606 @end itemize
607
608 @end defun
609
610 @defopt erc-nick
611 Nickname to use if one is not provided.
612
613 This can be either a string, or a list of strings.
614 In the latter case, if the first nick in the list is already in use,
615 other nicks are tried in the list order.
616 @end defopt
617
618 @defopt erc-nick-uniquifier
619 The string to append to the nick if it is already in use.
620 @end defopt
621
622 @defopt erc-try-new-nick-p
623 If the nickname you chose isn't available, and this option is non-nil,
624 ERC should automatically attempt to connect with another nickname.
625
626 You can manually set another nickname with the /NICK command.
627 @end defopt
628
629 @subheading Full name
630
631 @defun erc-compute-full-name &optional full-name
632 Return user's full name.
633
634 This tries a number of increasingly more default methods until a
635 non-nil value is found.
636
637 @itemize @bullet
638 @item @var{full-name} (the argument passed to this function)
639 @item The @code{erc-user-full-name} option
640 @item The value of the IRCNAME environment variable
641 @item The result from the @code{user-full-name} function
642 @end itemize
643
644 @end defun
645
646 @defopt erc-user-full-name
647 User full name.
648
649 This can be either a string or a function to call.
650 @end defopt
651
652 @node Options, Tips and Tricks, Connecting, Advanced Usage
653 @comment node-name, next, previous, up
654 @section Options
655 @cindex options
656
657 @c PRE5_2: (Node) Document every ERC option (module options go in
658 @c previous chapter)
659
660 This section has not yet been written.
661
662 @node Tips and Tricks, Sample Configuration, Options, Advanced Usage
663 @comment node-name, next, previous, up
664 @section Tips and Tricks
665 @cindex tips and tricks
516 666
517 @c PRE5_2: (Node) Tips and tricks 667 @c PRE5_2: (Node) Tips and tricks
518 668
669 This section has not yet been written.
670
671 @node Sample Configuration, , Tips and Tricks, Advanced Usage
672 @comment node-name, next, previous, up
673 @section Sample Configuration
674 @cindex configuration, sample
675
519 @c PRE5_2: (Node) Sample configs 676 @c PRE5_2: (Node) Sample configs
677
678 This section has not yet been written.
520 679
521 680
522 @node Getting Help and Reporting Bugs, History, Advanced Usage, Top 681 @node Getting Help and Reporting Bugs, History, Advanced Usage, Top
523 @comment node-name, next, previous, up 682 @comment node-name, next, previous, up
524 @chapter Getting Help and Reporting Bugs 683 @chapter Getting Help and Reporting Bugs
534 @uref{http://www.emacswiki.org/cgi-bin/wiki/EmacsIRCClient} is the 693 @uref{http://www.emacswiki.org/cgi-bin/wiki/EmacsIRCClient} is the
535 emacswiki.org page for ERC. Anyone may add tips, hints, or bug 694 emacswiki.org page for ERC. Anyone may add tips, hints, or bug
536 descriptions to it. 695 descriptions to it.
537 696
538 @item 697 @item
539 You can join the mailing list at @email{erc-help@@lists.sourceforge.net} 698 There are several mailing lists for ERC. To subscribe, visit
540 using the subscription form at 699 @uref{http://savannah.gnu.org/mail/?group=erc}.
541 @uref{http://lists.sourceforge.net/lists/listinfo/erc-help}. 700
542 701 The mailing lists are also available on Gmane.
543 This mailing list is also available via Gmane 702 (@url{http://gmane.org/}). Gmane provides additional methods for
544 (@url{http://gmane.org/}). The group is called 703 accessing the mailing lists, adding content to them, and searching them.
545 @samp{gmane.emacs.erc.general}. This provides additional methods for 704
546 accessing the mailing list, adding content to it, and searching it. 705 @enumerate
706 @item gmane.emacs.erc.announce
707 Announcements
708
709 @item gmane.emacs.erc.discuss
710 General discussion
711
712 @item gmane.emacs.erc.cvs
713 Log messages for changes to the ERC source code
714
715 @end enumerate
547 716
548 @item 717 @item
549 You can visit the IRC Freenode channel @samp{#emacs}. Many of the 718 You can visit the IRC Freenode channel @samp{#emacs}. Many of the
550 contributors are frequently around and willing to answer your 719 contributors are frequently around and willing to answer your
551 questions. 720 questions.
559 @cindex history, of ERC 728 @cindex history, of ERC
560 729
561 ERC was originally written by Alexander L. Belikoff 730 ERC was originally written by Alexander L. Belikoff
562 @email{abel@@bfr.co.il} and Sergey Berezin 731 @email{abel@@bfr.co.il} and Sergey Berezin
563 @email{sergey.berezin@@cs.cmu.edu}. They stopped development around 732 @email{sergey.berezin@@cs.cmu.edu}. They stopped development around
564 December 1999. Their last released version was ERC 2.0. 733 December 1999. Their last released version was ERC 2.0.
565 734
566 P.S.: If one of the original developers of ERC reads this, we'd like to 735 P.S.: If one of the original developers of ERC reads this, we'd like to
567 receive additional information for this file and hear comments in 736 receive additional information for this file and hear comments in
568 general. 737 general.
569 738
570 @itemize 739 @itemize
571 @item 2001 740 @item 2001
572 741
573 In June 2001, Mario Lang @email{mlang@@delysid.org} and Alex Schroeder 742 In June 2001, Mario Lang @email{mlang@@delysid.org} and Alex Schroeder
574 @email{alex@@gnu.org} took over development and created a ERC Project at 743 @email{alex@@gnu.org} took over development and created a ERC Project at
575 sourceforge.net. 744 @uref{http://sourceforge.net/projects/erc}.
576 745
577 In reaction to a mail about the new erc development, Sergey Berezin 746 In reaction to a mail about the new ERC development effort, Sergey
578 said, "First of all, I'm glad that my version of ERC is being used out 747 Berezin said, ``First of all, I'm glad that my version of ERC is being
579 there. The thing is, I do not have free time and enough incentive 748 used out there. The thing is, I do not have free time and enough
580 anymore to work on ERC, so I would be happy if you guys take over the 749 incentive anymore to work on ERC, so I would be happy if you guys take
581 project entirely." 750 over the project entirely.''
582 751
583 So we happily hacked away on ERC, and soon after (September 2001) 752 So we happily hacked away on ERC, and soon after (September 2001)
584 released the next "stable" version, 2.1. 753 released the next "stable" version, 2.1.
585 754
586 Most of the development of the new ERC happened on #emacs on 755 Most of the development of the new ERC happened on #emacs on
587 irc.openprojects.net. Over time, many people contributed code, ideas, 756 irc.openprojects.net. Over time, many people contributed code, ideas,
588 bugfixes. And not to forget a lot of alpha/beta/gamma testing. 757 bugfixes, and a lot of alpha/beta/gamma testing.
589 758
590 See the @file{CREDITS} file for a list of contributors. 759 See the @file{CREDITS} file for a list of contributors.
591 760
592 @item 2003 761 @item 2003
593 762
594 ERC 3.0 is released. 763 ERC 3.0 was released.
595 764
596 @item 2004 765 @item 2004
597 766
598 ERC 4.0 is released. 767 ERC 4.0 was released.
599 768
600 @item 2005 769 @item 2005
601 770
602 ERC 5.0 is released. Michael Olson @email{mwolson@@gnu.org} becomes 771 ERC 5.0 was released. Michael Olson @email{mwolson@@gnu.org} became
603 the release manager and eventually the maintainer. 772 the release manager and eventually the maintainer.
604 773
605 After some discussion between him and the Emacs developers, it is 774 After some discussion between him and the Emacs developers, it was
606 decided to include ERC in Emacs. 775 decided to include ERC in Emacs.
607 776
608 @item 2006 777 @item 2006
609 778
610 ERC 5.1 is released. It is subsequently included in Emacs 22. 779 ERC 5.1 was released. It was subsequently included in Emacs 22.
780
781 ERC became an official GNU project, and development moved to
782 @uref{http://sv.gnu.org/projects/erc}. We switched to using GNU Arch as
783 our revision control system. Our mailing list address changed as well.
611 784
612 @end itemize 785 @end itemize
613 786
614 @node Concept Index, , History, Top 787 @node Concept Index, , History, Top
615 @comment node-name, next, previous, up 788 @comment node-name, next, previous, up