aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/erc
diff options
context:
space:
mode:
authorKaroly Lorentey2006-02-16 16:18:54 +0000
committerKaroly Lorentey2006-02-16 16:18:54 +0000
commit322c30faa92c5ba2accc1027893a7cc24abbde72 (patch)
tree235c1de5e7e7b71c470b326e9480e3476c483050 /lisp/erc
parent6213d5b33cfae99e350488ab96bfd9704e0ff834 (diff)
parentb51897597a6ab40a4772d70a23421e66b3eb5048 (diff)
downloademacs-322c30faa92c5ba2accc1027893a7cc24abbde72.tar.gz
emacs-322c30faa92c5ba2accc1027893a7cc24abbde72.zip
Merged from
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-73 Merge from erc--emacs--0 * emacs@sv.gnu.org/emacs--devo--0--patch-74 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-75 Make ERC comply with the new copyright year guidelines. * emacs@sv.gnu.org/emacs--devo--0--patch-76 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-77 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-78 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-79 (rcirc-format-response-string): Fix small bugs * emacs@sv.gnu.org/emacs--devo--0--patch-80 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-81 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-82 Fix compiler error in erc-dcc.el. * emacs@sv.gnu.org/emacs--devo--0--patch-83 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-84 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-85 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-86 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-87 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-88 Merge from erc--emacs--0 * emacs@sv.gnu.org/emacs--devo--0--patch-89 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-90 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-513
Diffstat (limited to 'lisp/erc')
-rw-r--r--lisp/erc/ChangeLog94
-rw-r--r--lisp/erc/erc-autoaway.el2
-rw-r--r--lisp/erc/erc-dcc.el7
-rw-r--r--lisp/erc/erc-ezbounce.el2
-rw-r--r--lisp/erc/erc-fill.el2
-rw-r--r--lisp/erc/erc-goodies.el3
-rw-r--r--lisp/erc/erc-hecomplete.el2
-rw-r--r--lisp/erc/erc-ibuffer.el2
-rw-r--r--lisp/erc/erc-identd.el2
-rw-r--r--lisp/erc/erc-imenu.el2
-rw-r--r--lisp/erc/erc-join.el2
-rw-r--r--lisp/erc/erc-lang.el2
-rw-r--r--lisp/erc/erc-list.el23
-rw-r--r--lisp/erc/erc-log.el2
-rw-r--r--lisp/erc/erc-match.el20
-rw-r--r--lisp/erc/erc-menu.el6
-rw-r--r--lisp/erc/erc-netsplit.el2
-rw-r--r--lisp/erc/erc-networks.el2
-rw-r--r--lisp/erc/erc-notify.el2
-rw-r--r--lisp/erc/erc-page.el2
-rw-r--r--lisp/erc/erc-pcomplete.el2
-rw-r--r--lisp/erc/erc-replace.el2
-rw-r--r--lisp/erc/erc-ring.el2
-rw-r--r--lisp/erc/erc-services.el2
-rw-r--r--lisp/erc/erc-sound.el2
-rw-r--r--lisp/erc/erc-speedbar.el2
-rw-r--r--lisp/erc/erc-spelling.el8
-rw-r--r--lisp/erc/erc-stamp.el60
-rw-r--r--lisp/erc/erc-track.el2
-rw-r--r--lisp/erc/erc-truncate.el2
-rw-r--r--lisp/erc/erc-xdcc.el4
-rw-r--r--lisp/erc/erc.el123
32 files changed, 251 insertions, 141 deletions
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 50b37eb044f..ec2098c7bd3 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,97 @@
12006-02-15 Michael Olson <mwolson@gnu.org>
2
3 * erc.el (erc): Move to the end of the buffer when a continued
4 session is detected. Thanks to e1f and indio for the report and
5 testing a potential fix.
6
72006-02-14 Michael Olson <mwolson@gnu.org>
8
9 * debian/changelog: Prepare a new Debian package.
10
11 * Makefile (debprepare): New rule that creates an ERC snapshot
12 directory for use in both new Debian releases and revisions for
13 Debian packages.
14 (debrelease, debrevision-mwolson): Use debprepare.
15
16 * NEWS: Bring up-to-date.
17
18 * erc-stamp.el (erc-insert-timestamp-right): For now, put
19 timestamps before rather than after erc-fill-column when
20 erc-timestamp-right-column is nil. This way we won't surprise
21 anyone unpleasantly, or so it is hoped.
22
232006-02-13 Michael Olson <mwolson@gnu.org>
24
25 * erc-dcc.el: Use (eval-when-compile (require 'cl)).
26
272006-02-12 Michael Olson <mwolson@gnu.org>
28
29 * erc-autoaway.el, erc-dcc.el, erc-ezbounce.el, erc-fill.el,
30 erc-goodies.el, erc-hecomplete.el, erc-ibuffer.el, erc-identd.el,
31 erc-imenu.el, erc-join.el, erc-lang.el, erc-list.el, erc-log.el,
32 erc-match.el, erc-menu.el, erc-netsplit.el, erc-networks.el,
33 erc-notify.el, erc-page.el, erc-pcomplete.el, erc-replace.el,
34 erc-ring.el, erc-services.el, erc-sound.el, erc-speedbar.el,
35 erc-spelling.el, erc-track.el, erc-truncate.el, erc-xdcc.el: Add
36 2006 to copyright years, to comply with the changed guidelines.
37
382006-02-11 Michael Olson <mwolson@gnu.org>
39
40 * erc.el (erc-update-modules): Make some requirements shorter, so
41 that it's easier to see why they are needed.
42
43 * erc-stamp.el (erc-timestamp-use-align-to): Renamed from
44 `erc-timestamp-right-align-by-pixel'. Set the default based on
45 whether we are in Emacs 22, and using X. Improve documentation.
46 (erc-insert-aligned): Remove calculation of offset, since
47 :align-to pos works after all. Unlike the previous solution, this
48 one works when erc-stamp.el is compiled.
49 (erc-insert-timestamp-right): Don't add length of string, and then
50 later remove its displayed width. This puts timestamps after
51 erc-fill-column when erc-timestamp-right-column is nil, rather
52 than before it. It also fixes a subtle bug. Remove use of
53 `current-window', since there is no variable by that name in
54 Emacs21, Emacs22, or XEmacs21 beta. Check to see whether
55 `erc-fill-column' is non-nil before using it.
56
572006-02-11 Diane Murray <disumu@x3y2z1.net>
58
59 * erc-list.el: Define `list' module which sets the alias
60 `erc-cmd-LIST' to `erc-list-channels' when enabled and
61 `erc-list-channels-simple' when disabled.
62 (erc-list-channels): Was `erc-cmd-LIST', renamed.
63 (erc-list-channels-simple): New function.
64
65 * erc.el (erc-modules): Added `list' to enabled modules. Moved
66 customization options left in source code.
67
68 * erc-menu.el (erc-menu-definition): Use `erc-list-channels'.
69
70 * erc-spelling.el (define-erc-module): Make sure there's a buffer
71 before calling `with-current-buffer'.
72
732006-02-10 Michael Olson <mwolson@gnu.org>
74
75 * Makefile (debbuild): Split from debrelease.
76 (debrevision-mwolson): New rule that causes a Debian revision to
77 be built.
78
79 * erc.el (erc-migrate-modules): Use a better algorithm. Thanks to
80 Johan Bockgård.
81 (erc-modules): Change use of 'pcomplete to 'completion.
82
832006-02-09 Diane Murray <disumu@x3y2z1.net>
84
85 * erc.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
86 (erc-get-parsed-vector-type): Moved here from erc-match.el.
87
88 * erc-match.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
89 (erc-get-parsed-vector-type): Moved these functions to erc.el
90 since they can be useful outside of the text matching module.
91
92 * erc-dcc.el, erc-stamp.el, erc-xdcc.el: Changed "Emacs IRC Client"
93 to "ERC".
94
12006-02-07 Michael Olson <mwolson@gnu.org> 952006-02-07 Michael Olson <mwolson@gnu.org>
2 96
3 * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04, 97 * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04,
diff --git a/lisp/erc/erc-autoaway.el b/lisp/erc/erc-autoaway.el
index 41c16b82cb1..56713cba8bf 100644
--- a/lisp/erc/erc-autoaway.el
+++ b/lisp/erc/erc-autoaway.el
@@ -1,6 +1,6 @@
1;;; erc-autoaway.el --- Provides autoaway for ERC 1;;; erc-autoaway.el --- Provides autoaway for ERC
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Jorgen Schaefer <forcer@forcix.cx> 5;; Author: Jorgen Schaefer <forcer@forcix.cx>
6;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoAway 6;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoAway
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el
index d5789a51708..4b9172f06d7 100644
--- a/lisp/erc/erc-dcc.el
+++ b/lisp/erc/erc-dcc.el
@@ -1,6 +1,6 @@
1;;; erc-dcc.el --- CTCP DCC module for ERC 1;;; erc-dcc.el --- CTCP DCC module for ERC
2 2
3;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004 3;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2006
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu> 6;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu>
@@ -29,7 +29,7 @@
29 29
30;;; Commentary: 30;;; Commentary:
31 31
32;; This file provides Direct Client-to-Client support for the Emacs IRC Client. 32;; This file provides Direct Client-to-Client support for ERC.
33;; 33;;
34;; The original code was taken from zenirc-dcc.el, heavily mangled and 34;; The original code was taken from zenirc-dcc.el, heavily mangled and
35;; rewritten to support the way how ERC operates. Server socket support 35;; rewritten to support the way how ERC operates. Server socket support
@@ -55,7 +55,8 @@
55 55
56(require 'erc) 56(require 'erc)
57(eval-when-compile 57(eval-when-compile
58 (require 'pcomplete)) 58 (require 'cl)
59 (require 'pcomplete))
59 60
60(defgroup erc-dcc nil 61(defgroup erc-dcc nil
61 "DCC stands for Direct Client Communication, where you and your 62 "DCC stands for Direct Client Communication, where you and your
diff --git a/lisp/erc/erc-ezbounce.el b/lisp/erc/erc-ezbounce.el
index 59e80b60b8d..48395bf1dab 100644
--- a/lisp/erc/erc-ezbounce.el
+++ b/lisp/erc/erc-ezbounce.el
@@ -1,6 +1,6 @@
1;;; erc-ezbounce.el --- Handle EZBounce bouncer commands 1;;; erc-ezbounce.el --- Handle EZBounce bouncer commands
2 2
3;; Copyright (C) 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Andreas Fuchs <asf@void.at> 5;; Author: Andreas Fuchs <asf@void.at>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-fill.el b/lisp/erc/erc-fill.el
index f945d838c2a..6a5f80f7fd8 100644
--- a/lisp/erc/erc-fill.el
+++ b/lisp/erc/erc-fill.el
@@ -1,6 +1,6 @@
1;;; erc-fill.el --- Filling IRC messages in various ways 1;;; erc-fill.el --- Filling IRC messages in various ways
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Andreas Fuchs <asf@void.at> 5;; Author: Andreas Fuchs <asf@void.at>
6;; Mario Lang <mlang@delysid.org> 6;; Mario Lang <mlang@delysid.org>
diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el
index c844af55594..f6d32ee7c06 100644
--- a/lisp/erc/erc-goodies.el
+++ b/lisp/erc/erc-goodies.el
@@ -1,6 +1,7 @@
1;; erc-goodies.el --- Collection of ERC modules 1;; erc-goodies.el --- Collection of ERC modules
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation 3;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
4;; Free Software Foundation, Inc.
4 5
5;; Author: Jorgen Schaefer <forcer@forcix.cx> 6;; Author: Jorgen Schaefer <forcer@forcix.cx>
6 7
diff --git a/lisp/erc/erc-hecomplete.el b/lisp/erc/erc-hecomplete.el
index 763d75c8fc7..85a81569782 100644
--- a/lisp/erc/erc-hecomplete.el
+++ b/lisp/erc/erc-hecomplete.el
@@ -1,6 +1,6 @@
1;;; erc-hecomplete.el --- Provides Nick name completion for ERC 1;;; erc-hecomplete.el --- Provides Nick name completion for ERC
2 2
3;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Alex Schroeder <alex@gnu.org> 5;; Author: Alex Schroeder <alex@gnu.org>
6;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion 6;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion
diff --git a/lisp/erc/erc-ibuffer.el b/lisp/erc/erc-ibuffer.el
index a122908ed2c..7ca843d115c 100644
--- a/lisp/erc/erc-ibuffer.el
+++ b/lisp/erc/erc-ibuffer.el
@@ -1,6 +1,6 @@
1;;; erc-ibuffer.el --- ibuffer integration with ERC 1;;; erc-ibuffer.el --- ibuffer integration with ERC
2 2
3;; Copyright (C) 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-identd.el b/lisp/erc/erc-identd.el
index 5cb179c7e22..e0ccfb40497 100644
--- a/lisp/erc/erc-identd.el
+++ b/lisp/erc/erc-identd.el
@@ -1,6 +1,6 @@
1;;; erc-identd.el --- RFC1413 (identd authentication protocol) server 1;;; erc-identd.el --- RFC1413 (identd authentication protocol) server
2 2
3;; Copyright (C) 2003 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2006 Free Software Foundation, Inc.
4 4
5;; Author: John Wiegley <johnw@gnu.org> 5;; Author: John Wiegley <johnw@gnu.org>
6;; Keywords: comm, processes 6;; Keywords: comm, processes
diff --git a/lisp/erc/erc-imenu.el b/lisp/erc/erc-imenu.el
index c64c9c04723..88de1cedf6e 100644
--- a/lisp/erc/erc-imenu.el
+++ b/lisp/erc/erc-imenu.el
@@ -1,6 +1,6 @@
1;;; erc-imenu.el -- Imenu support for ERC 1;;; erc-imenu.el -- Imenu support for ERC
2 2
3;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el
index da41ea77374..0d2c1f98706 100644
--- a/lisp/erc/erc-join.el
+++ b/lisp/erc/erc-join.el
@@ -1,6 +1,6 @@
1;;; erc-join.el --- autojoin channels on connect and reconnects 1;;; erc-join.el --- autojoin channels on connect and reconnects
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Alex Schroeder <alex@gnu.org> 5;; Author: Alex Schroeder <alex@gnu.org>
6;; Keywords: irc 6;; Keywords: irc
diff --git a/lisp/erc/erc-lang.el b/lisp/erc/erc-lang.el
index 20c89a8b0b6..04cfbe9e220 100644
--- a/lisp/erc/erc-lang.el
+++ b/lisp/erc/erc-lang.el
@@ -1,6 +1,6 @@
1;;; erc-lang.el --- provide the LANG command to ERC 1;;; erc-lang.el --- provide the LANG command to ERC
2 2
3;; Copyright (C) 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Alex Schroeder <alex@gnu.org> 5;; Author: Alex Schroeder <alex@gnu.org>
6;; Maintainer: Alex Schroeder <alex@gnu.org> 6;; Maintainer: Alex Schroeder <alex@gnu.org>
diff --git a/lisp/erc/erc-list.el b/lisp/erc/erc-list.el
index 9bc561523d9..c041842429e 100644
--- a/lisp/erc/erc-list.el
+++ b/lisp/erc/erc-list.el
@@ -1,6 +1,6 @@
1;;; erc-list.el --- Provide a faster channel listing mechanism 1;;; erc-list.el --- Provide a faster channel listing mechanism
2 2
3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4;; Copyright (C) 2004 Brian Palmer 4;; Copyright (C) 2004 Brian Palmer
5 5
6;; Author: Mario Lang <mlang@lexx.delysid.org> 6;; Author: Mario Lang <mlang@lexx.delysid.org>
@@ -140,12 +140,19 @@ display the channel list."
140 (setq truncate-lines t) 140 (setq truncate-lines t)
141 (add-hook 'post-command-hook 'erc-chanlist-post-command-hook 'append 'local)) 141 (add-hook 'post-command-hook 'erc-chanlist-post-command-hook 'append 'local))
142 142
143;; Define module:
144;;;###autoload (autoload 'erc-list-mode "erc-list")
145(define-erc-module list nil
146 "List channels nicely in a separate buffer."
147 ((defalias 'erc-cmd-LIST 'erc-list-channels))
148 ((defalias 'erc-cmd-LIST 'erc-list-channels-simple)))
149
143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
144;; Functions. 151;; Functions.
145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
146 153
147;;;###autoload 154;;;###autoload
148(defun erc-cmd-LIST (&rest channel) 155(defun erc-list-channels (&rest channel)
149 "Display a buffer containing a list of channels on the current server. 156 "Display a buffer containing a list of channels on the current server.
150Optional argument CHANNEL specifies a single channel to list (instead of every 157Optional argument CHANNEL specifies a single channel to list (instead of every
151available channel)." 158available channel)."
@@ -163,6 +170,18 @@ available channel)."
163 (erc-chanlist channel)) 170 (erc-chanlist channel))
164 t) 171 t)
165 172
173(defun erc-list-channels-simple (&optional line)
174 "Send the LIST command to the current server with optional channels LINE."
175 (when (string-match "^\\s-*\\(.*\\)$" line)
176 (let ((channels (match-string 1 line)))
177 (erc-log (format "cmd: LIST: %s" channels))
178 (erc-server-send
179 (if (string= channels "")
180 "LIST"
181 (concat "LIST :" channels))))
182 t))
183(put 'erc-list-channels-simple 'do-not-parse-args t)
184
166;;;###autoload 185;;;###autoload
167(defun erc-chanlist (&optional channels) 186(defun erc-chanlist (&optional channels)
168 "Show a channel listing of the current server in a special mode. 187 "Show a channel listing of the current server in a special mode.
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index d4e6e5ad3fa..db60e5629bf 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -1,6 +1,6 @@
1;;; erc-log.el --- Logging facilities for ERC. 1;;; erc-log.el --- Logging facilities for ERC.
2 2
3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Lawrence Mitchell <wence@gmx.li> 5;; Author: Lawrence Mitchell <wence@gmx.li>
6;; Keywords: IRC, chat, client, Internet, logging 6;; Keywords: IRC, chat, client, Internet, logging
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el
index a5e3bf88ccf..88c6d4c425d 100644
--- a/lisp/erc/erc-match.el
+++ b/lisp/erc/erc-match.el
@@ -1,6 +1,6 @@
1;;; erc-match.el --- Highlight messages matching certain regexps 1;;; erc-match.el --- Highlight messages matching certain regexps
2 2
3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Andreas Fuchs <asf@void.at> 5;; Author: Andreas Fuchs <asf@void.at>
6;; Keywords: comm, faces 6;; Keywords: comm, faces
@@ -428,24 +428,6 @@ In any of the following situations, MSG is directed at an entry FOOL:
428 (or (erc-list-match fools-beg msg) 428 (or (erc-list-match fools-beg msg)
429 (erc-list-match fools-end msg)))) 429 (erc-list-match fools-end msg))))
430 430
431(defun erc-get-parsed-vector (point)
432 "Return the whole parsed vector on POINT."
433 (get-text-property point 'erc-parsed))
434
435(defun erc-get-parsed-vector-nick (vect)
436 "Return nickname in the parsed vector VECT."
437 (let* ((untreated-nick (and vect (erc-response.sender vect)))
438 (maybe-nick (when untreated-nick
439 (car (split-string untreated-nick "!")))))
440 (when (and (not (null maybe-nick))
441 (erc-is-valid-nick-p maybe-nick))
442 untreated-nick)))
443
444(defun erc-get-parsed-vector-type (vect)
445 "Return message type in the parsed vector VECT."
446 (and vect
447 (erc-response.command vect)))
448
449(defun erc-match-message () 431(defun erc-match-message ()
450 "Mark certain keywords in a region. 432 "Mark certain keywords in a region.
451Use this defun with `erc-insert-modify-hook'." 433Use this defun with `erc-insert-modify-hook'."
diff --git a/lisp/erc/erc-menu.el b/lisp/erc/erc-menu.el
index 8e1f81adf75..7040a7baeee 100644
--- a/lisp/erc/erc-menu.el
+++ b/lisp/erc/erc-menu.el
@@ -1,6 +1,6 @@
1;; erc-menu.el -- Menu-bar definitions for ERC 1;; erc-menu.el -- Menu-bar definitions for ERC
2 2
3;; Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm, processes, menu 6;; Keywords: comm, processes, menu
@@ -36,8 +36,8 @@
36 ["Connect to server..." erc-select t] 36 ["Connect to server..." erc-select t]
37 ["Disconnect from server..." erc-quit-server erc-server-connected] 37 ["Disconnect from server..." erc-quit-server erc-server-connected]
38 "-" 38 "-"
39 ["List channels..." erc-cmd-LIST 39 ["List channels..." erc-list-channels
40 (and erc-server-connected (fboundp 'erc-cmd-LIST))] 40 (and erc-server-connected (fboundp 'erc-list-channels))]
41 ["Join channel..." erc-join-channel erc-server-connected] 41 ["Join channel..." erc-join-channel erc-server-connected]
42 ["Start a query..." erc-cmd-QUERY erc-server-connected] 42 ["Start a query..." erc-cmd-QUERY erc-server-connected]
43 "-" 43 "-"
diff --git a/lisp/erc/erc-netsplit.el b/lisp/erc/erc-netsplit.el
index 70ec2f2fc0d..a982b5e7c7e 100644
--- a/lisp/erc/erc-netsplit.el
+++ b/lisp/erc/erc-netsplit.el
@@ -1,6 +1,6 @@
1;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits 1;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el
index b79a56a359c..c15f72e248f 100644
--- a/lisp/erc/erc-networks.el
+++ b/lisp/erc/erc-networks.el
@@ -1,6 +1,6 @@
1;;; erc-networks.el --- IRC networks 1;;; erc-networks.el --- IRC networks
2 2
3;; Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@lexx.delysid.org> 5;; Author: Mario Lang <mlang@lexx.delysid.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el
index 1d2bdbd5f45..bb1c9cdceb3 100644
--- a/lisp/erc/erc-notify.el
+++ b/lisp/erc/erc-notify.el
@@ -1,6 +1,6 @@
1;;; erc-notify.el --- Online status change notification 1;;; erc-notify.el --- Online status change notification
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@lexx.delysid.org> 5;; Author: Mario Lang <mlang@lexx.delysid.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-page.el b/lisp/erc/erc-page.el
index d8e677031e3..4c6b86bd564 100644
--- a/lisp/erc/erc-page.el
+++ b/lisp/erc/erc-page.el
@@ -1,6 +1,6 @@
1;; erc-page.el - CTCP PAGE support for ERC 1;; erc-page.el - CTCP PAGE support for ERC
2 2
3;; Copyright (C) 2002, 2004 Free Software Foundation 3;; Copyright (C) 2002, 2004, 2006 Free Software Foundation
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el
index 110704304e2..d6d4dfdd3b3 100644
--- a/lisp/erc/erc-pcomplete.el
+++ b/lisp/erc/erc-pcomplete.el
@@ -1,6 +1,6 @@
1;;; erc-pcomplete.el --- Provides programmable completion for ERC 1;;; erc-pcomplete.el --- Provides programmable completion for ERC
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Sacha Chua <sacha@free.net.ph> 5;; Author: Sacha Chua <sacha@free.net.ph>
6;; Keywords: comm, convenience 6;; Keywords: comm, convenience
diff --git a/lisp/erc/erc-replace.el b/lisp/erc/erc-replace.el
index 07e8cd16138..06d3ca77f06 100644
--- a/lisp/erc/erc-replace.el
+++ b/lisp/erc/erc-replace.el
@@ -1,6 +1,6 @@
1;; erc-replace.el -- wash and massage messages inserted into the buffer 1;; erc-replace.el -- wash and massage messages inserted into the buffer
2 2
3;; Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Andreas Fuchs <asf@void.at> 5;; Author: Andreas Fuchs <asf@void.at>
6;; Maintainer: Mario Lang (mlang@delysid.org) 6;; Maintainer: Mario Lang (mlang@delysid.org)
diff --git a/lisp/erc/erc-ring.el b/lisp/erc/erc-ring.el
index cabb8e2905f..87707e65faa 100644
--- a/lisp/erc/erc-ring.el
+++ b/lisp/erc/erc-ring.el
@@ -1,6 +1,6 @@
1;; erc-ring.el -- Command history handling for erc using ring.el 1;; erc-ring.el -- Command history handling for erc using ring.el
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Alex Schroeder <alex@gnu.org> 5;; Author: Alex Schroeder <alex@gnu.org>
6;; Keywords: comm 6;; Keywords: comm
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el
index 676948752fd..c8bac7fe45c 100644
--- a/lisp/erc/erc-services.el
+++ b/lisp/erc/erc-services.el
@@ -1,6 +1,6 @@
1;;; erc-services.el --- Identify to NickServ 1;;; erc-services.el --- Identify to NickServ
2 2
3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
diff --git a/lisp/erc/erc-sound.el b/lisp/erc/erc-sound.el
index c5b0f8177f2..bbcddafc231 100644
--- a/lisp/erc/erc-sound.el
+++ b/lisp/erc/erc-sound.el
@@ -1,6 +1,6 @@
1;;; erc-sound.el --- CTCP SOUND support for ERC 1;;; erc-sound.el --- CTCP SOUND support for ERC
2 2
3;; Copyright (C) 2002, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2006 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el
index 254d7fc5781..55e24782f77 100644
--- a/lisp/erc/erc-speedbar.el
+++ b/lisp/erc/erc-speedbar.el
@@ -1,6 +1,6 @@
1;;; erc-speedbar.el --- Speedbar support for ERC 1;;; erc-speedbar.el --- Speedbar support for ERC
2 2
3;; Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Contributor: Eric M. Ludlam <eric@siege-engine.com> 6;; Contributor: Eric M. Ludlam <eric@siege-engine.com>
diff --git a/lisp/erc/erc-spelling.el b/lisp/erc/erc-spelling.el
index 41e342c0e50..3cbc786274d 100644
--- a/lisp/erc/erc-spelling.el
+++ b/lisp/erc/erc-spelling.el
@@ -1,6 +1,6 @@
1;;; erc-spelling.el --- use flyspell in ERC 1;;; erc-spelling.el --- use flyspell in ERC
2 2
3;; Copyright (C) 2005, 2006 Free Software Foundation, Inc. 3;; Copyright (C) 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Jorgen Schaefer <forcer@forcix.cx> 5;; Author: Jorgen Schaefer <forcer@forcix.cx>
6;; Keywords: irc 6;; Keywords: irc
@@ -41,11 +41,13 @@
41 ;; called AFTER the server buffer is initialized. 41 ;; called AFTER the server buffer is initialized.
42 ((add-hook 'erc-connect-pre-hook 'erc-spelling-init) 42 ((add-hook 'erc-connect-pre-hook 'erc-spelling-init)
43 (mapc (lambda (buffer) 43 (mapc (lambda (buffer)
44 (with-current-buffer buffer (erc-spelling-init))) 44 (when buffer
45 (with-current-buffer buffer (erc-spelling-init))))
45 (erc-buffer-list))) 46 (erc-buffer-list)))
46 ((remove-hook 'erc-connect-pre-hook 'erc-spelling-init) 47 ((remove-hook 'erc-connect-pre-hook 'erc-spelling-init)
47 (mapc (lambda (buffer) 48 (mapc (lambda (buffer)
48 (with-current-buffer buffer (flyspell-mode 0))) 49 (when buffer
50 (with-current-buffer buffer (flyspell-mode 0))))
49 (erc-buffer-list)))) 51 (erc-buffer-list))))
50 52
51(defcustom erc-spelling-dictionaries nil 53(defcustom erc-spelling-dictionaries nil
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index ead847ff73f..5d43baab6c9 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -1,4 +1,4 @@
1;;; erc-stamp.el --- Timestamping for Emacs IRC CLient 1;;; erc-stamp.el --- Timestamping for ERC messages
2 2
3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
@@ -180,11 +180,17 @@ the correct column."
180 (integer :tag "Column number") 180 (integer :tag "Column number")
181 (const :tag "Unspecified" nil))) 181 (const :tag "Unspecified" nil)))
182 182
183(defcustom erc-timestamp-right-align-by-pixel nil 183(defcustom erc-timestamp-use-align-to (and (not (featurep 'xemacs))
184 "*If non-nil, insert the right timestamp based on a pixel value. 184 (>= emacs-major-version 22)
185This is needed when variable-width text precedes a timestamp. 185 (eq window-system 'x))
186 "*If non-nil, use the :align-to display property to align the stamp.
187This gives better results when variable-width characters (like
188Asian language characters and math symbols) precede a timestamp.
186Unfortunately, it only works in Emacs 22 and when using the X 189Unfortunately, it only works in Emacs 22 and when using the X
187Window System." 190Window System.
191
192A side effect of enabling this is that there will only be one
193space before a right timestamp in any saved logs."
188 :group 'erc-stamp 194 :group 'erc-stamp
189 :type 'boolean) 195 :type 'boolean)
190 196
@@ -200,18 +206,15 @@ Window System."
200 (insert s))) 206 (insert s)))
201 207
202(defun erc-insert-aligned (string pos) 208(defun erc-insert-aligned (string pos)
203 "Insert STRING based on a fraction of the width of the buffer. 209 "Insert STRING at the POSth column.
204Fraction is roughly (/ POS (window-width)).
205 210
206If `erc-timestamp-right-align-by-pixel' is nil, insert STRING at the 211If `erc-timestamp-use-align-to' is t, use the :align-to display
207POSth column, without using pixel coordinates." 212property to get to the POSth column."
208 (if (not erc-timestamp-right-align-by-pixel) 213 (if (not erc-timestamp-use-align-to)
209 (indent-to pos) 214 (indent-to pos)
210 (insert " ") 215 (insert " ")
211 (let ((offset (floor (* (/ (1- pos) (window-width) 1.0) 216 (put-text-property (1- (point)) (point) 'display
212 (nth 2 (window-inside-pixel-edges)))))) 217 (list 'space ':align-to pos)))
213 (put-text-property (1- (point)) (point) 'display
214 `(space :align-to (,offset)))))
215 (insert string)) 218 (insert string))
216 219
217(defun erc-insert-timestamp-right (string) 220(defun erc-insert-timestamp-right (string)
@@ -237,31 +240,26 @@ be printed just before the window-width."
237 (goto-char (point-max)) 240 (goto-char (point-max))
238 (forward-char -1);; before the last newline 241 (forward-char -1);; before the last newline
239 (let* ((current-window (get-buffer-window (current-buffer))) 242 (let* ((current-window (get-buffer-window (current-buffer)))
243 (str-width (string-width string))
240 (pos (cond 244 (pos (cond
241 (erc-timestamp-right-column 245 (erc-timestamp-right-column erc-timestamp-right-column)
242 (+ erc-timestamp-right-column (length string)))
243 ((and (boundp 'erc-fill-mode) 246 ((and (boundp 'erc-fill-mode)
244 erc-fill-mode 247 erc-fill-mode
245 (boundp 'erc-fill-column)) 248 (boundp 'erc-fill-column)
246 (1+ erc-fill-column)) 249 erc-fill-column)
247 (current-window 250 (1+ (- erc-fill-column str-width)))
248 (- (window-width current-window)
249 1))
250 (fill-column 251 (fill-column
251 (1+ fill-column)) 252 (1+ (- fill-column str-width)))
252 (t 253 (t
253 (- (window-width) 254 (- (window-width) str-width 1))))
254 1))))
255 (from (point)) 255 (from (point))
256 (col (current-column)) 256 (col (current-column))
257 indent) 257 indent)
258 ;; deal with variable-width characters 258 ;; The following is a kludge used to calculate whether to move
259 (setq pos (- pos (string-width string)) 259 ;; to the next line before inserting a stamp. It allows for
260 ;; The following is a kludge that works with most 260 ;; some margin of error if what is displayed on the line differs
261 ;; international input. It is now only used to calculate 261 ;; from the number of characters on the line.
262 ;; whether to move to the next line before inserting a 262 (setq col (+ col (ceiling (/ (- col (- (point) (point-at-bol))) 1.6))))
263 ;; stamp.
264 col (+ col (ceiling (/ (- col (- (point) (point-at-bol))) 1.6))))
265 (if (< col pos) 263 (if (< col pos)
266 (erc-insert-aligned string pos) 264 (erc-insert-aligned string pos)
267 (newline) 265 (newline)
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 6d760d75ba2..63005678613 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -1,6 +1,6 @@
1;;; erc-track.el --- Track modified channel buffers 1;;; erc-track.el --- Track modified channel buffers
2 2
3;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm, faces 6;; Keywords: comm, faces
diff --git a/lisp/erc/erc-truncate.el b/lisp/erc/erc-truncate.el
index 49cd20d759c..7a1feaaedd2 100644
--- a/lisp/erc/erc-truncate.el
+++ b/lisp/erc/erc-truncate.el
@@ -1,6 +1,6 @@
1;;; erc-truncate.el --- Functions for truncating ERC buffers 1;;; erc-truncate.el --- Functions for truncating ERC buffers
2 2
3;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Andreas Fuchs <asf@void.at> 5;; Author: Andreas Fuchs <asf@void.at>
6;; Keywords: IRC, chat, client, Internet, logging 6;; Keywords: IRC, chat, client, Internet, logging
diff --git a/lisp/erc/erc-xdcc.el b/lisp/erc/erc-xdcc.el
index 7c8ee6fff62..d00dfc5e1a0 100644
--- a/lisp/erc/erc-xdcc.el
+++ b/lisp/erc/erc-xdcc.el
@@ -1,6 +1,6 @@
1;;; erc-xdcc.el --- XDCC file-server support for ERC 1;;; erc-xdcc.el --- XDCC file-server support for ERC
2 2
3;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
4 4
5;; Author: Mario Lang <mlang@delysid.org> 5;; Author: Mario Lang <mlang@delysid.org>
6;; Keywords: comm, processes 6;; Keywords: comm, processes
@@ -24,7 +24,7 @@
24 24
25;;; Commentary: 25;;; Commentary:
26 26
27;; This file provides a very simple XDCC file server for the Emacs IRC Client. 27;; This file provides a very simple XDCC file server for ERC.
28 28
29;;; Code: 29;;; Code:
30 30
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 936fffa252f..e1dc240901b 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1719,22 +1719,15 @@ all channel buffers on all servers."
1719(defun erc-migrate-modules (mods) 1719(defun erc-migrate-modules (mods)
1720 "Migrate old names of ERC modules to new ones." 1720 "Migrate old names of ERC modules to new ones."
1721 ;; modify `transforms' to specify what needs to be changed 1721 ;; modify `transforms' to specify what needs to be changed
1722 ;; each item is in the format '(new .old) 1722 ;; each item is in the format '(old . new)
1723 (let ((transforms '((pcomplete . completion))) 1723 (let ((transforms '((pcomplete . completion))))
1724 (modules (copy-alist mods))) 1724 (erc-delete-dups
1725 (dolist (transform transforms) 1725 (mapcar (lambda (m) (or (cdr (assoc m transforms)) m))
1726 (let ((addp nil)) 1726 mods))))
1727 (setq modules (erc-delete-if `(lambda (val) 1727
1728 (and (eq val ',(car transform)) 1728(defcustom erc-modules '(netsplit fill button match track completion readonly
1729 (setq addition t)))
1730 modules))
1731 (when addp
1732 (add-to-list 'modules (cdr transform)))))
1733 (erc-delete-dups modules)))
1734
1735(defcustom erc-modules '(netsplit fill button match track pcomplete readonly
1736 ring autojoin noncommands irccontrols 1729 ring autojoin noncommands irccontrols
1737 stamp) 1730 stamp list)
1738 "A list of modules which erc should enable. 1731 "A list of modules which erc should enable.
1739If you set the value of this without using `customize' remember to call 1732If you set the value of this without using `customize' remember to call
1740\(erc-update-modules) after you change it. When using `customize', modules 1733\(erc-update-modules) after you change it. When using `customize', modules
@@ -1755,40 +1748,42 @@ removed from the list will be disabled."
1755 ;; this test is for the case where erc hasn't been loaded yet 1748 ;; this test is for the case where erc hasn't been loaded yet
1756 (when (fboundp 'erc-update-modules) 1749 (when (fboundp 'erc-update-modules)
1757 (erc-update-modules))) 1750 (erc-update-modules)))
1758 :type '(set :greedy t 1751 :type
1759 (const :tag "Set away status automatically" autoaway) 1752 '(set
1760 (const :tag "Join channels automatically" autojoin) 1753 :greedy t
1761 (const :tag "Integrate with Big Brother Database" bbdb) 1754 (const :tag "Set away status automatically" autoaway)
1762 (const :tag "Buttonize URLs, nicknames, and other text" button) 1755 (const :tag "Join channels automatically" autojoin)
1763 (const :tag "Wrap long lines" fill) 1756 (const :tag "Integrate with Big Brother Database" bbdb)
1764 (const :tag "Highlight or remove IRC control characters" 1757 (const :tag "Buttonize URLs, nicknames, and other text" button)
1765 irccontrols) 1758 (const :tag "Wrap long lines" fill)
1766 (const :tag "Save buffers in logs" log) 1759 (const :tag "Highlight or remove IRC control characters"
1767 (const :tag "Highlight pals, fools, and other keywords" match) 1760 irccontrols)
1768 (const :tag "Detect netsplits" netsplit) 1761 (const :tag "Save buffers in logs" log)
1769 (const :tag "Don't display non-IRC commands after evaluation" 1762 (const :tag "Highlight pals, fools, and other keywords" match)
1770 noncommands) 1763 (const :tag "Detect netsplits" netsplit)
1771 (const :tag 1764 (const :tag "Don't display non-IRC commands after evaluation"
1772 "Notify when the online status of certain users changes" 1765 noncommands)
1773 notify) 1766 (const :tag
1774 (const :tag "Complete nicknames and commands (programmable)" 1767 "Notify when the online status of certain users changes"
1775 completion) 1768 notify)
1776 (const :tag "Complete nicknames and commands (old)" hecomplete) 1769 (const :tag "Complete nicknames and commands (programmable)"
1777 (const :tag "Make displayed lines read-only" readonly) 1770 completion)
1778 (const :tag "Replace text in messages" replace) 1771 (const :tag "Complete nicknames and commands (old)" hecomplete)
1779 (const :tag "Enable an input history" ring) 1772 (const :tag "Make displayed lines read-only" readonly)
1780 (const :tag "Scroll to the bottom of the buffer" scrolltobottom) 1773 (const :tag "Replace text in messages" replace)
1781 (const :tag "Identify to Nickserv (IRC Services) automatically" 1774 (const :tag "Enable an input history" ring)
1782 services) 1775 (const :tag "Scroll to the bottom of the buffer" scrolltobottom)
1783 (const :tag "Convert smileys to pretty icons" smiley) 1776 (const :tag "Identify to Nickserv (IRC Services) automatically"
1784 (const :tag "Play sounds when you receive CTCP SOUND requests" 1777 services)
1785 sound) 1778 (const :tag "Convert smileys to pretty icons" smiley)
1786 (const :tag "Add timestamps to messages" stamp) 1779 (const :tag "Play sounds when you receive CTCP SOUND requests"
1787 (const :tag "Check spelling" spelling) 1780 sound)
1788 (const :tag "Track channel activity in the mode-line" track) 1781 (const :tag "Add timestamps to messages" stamp)
1789 (const :tag "Truncate buffers to a certain size" truncate) 1782 (const :tag "Check spelling" spelling)
1790 (const :tag "Translate morse code in messages" unmorse) 1783 (const :tag "Track channel activity in the mode-line" track)
1791 (repeat :tag "Others" :inline t symbol)) 1784 (const :tag "Truncate buffers to a certain size" truncate)
1785 (const :tag "Translate morse code in messages" unmorse)
1786 (repeat :tag "Others" :inline t symbol))
1792 :group 'erc) 1787 :group 'erc)
1793 1788
1794(defun erc-update-modules () 1789(defun erc-update-modules ()
@@ -1799,14 +1794,11 @@ removed from the list will be disabled."
1799 (cond 1794 (cond
1800 ;; yuck. perhaps we should bring the filenames into sync? 1795 ;; yuck. perhaps we should bring the filenames into sync?
1801 ((string= req "erc-completion") 1796 ((string= req "erc-completion")
1802 (setq req "erc-pcomplete") 1797 (setq req "erc-pcomplete"))
1803 (setq mod 'completion))
1804 ((string= req "erc-pcomplete") 1798 ((string= req "erc-pcomplete")
1805 (setq req "erc-pcomplete")
1806 (setq mod 'completion)) 1799 (setq mod 'completion))
1807 ((string= req "erc-autojoin") 1800 ((string= req "erc-autojoin")
1808 (setq req "erc-join") 1801 (setq req "erc-join")))
1809 (setq mod 'autojoin)))
1810 (condition-case nil 1802 (condition-case nil
1811 (require (intern req)) 1803 (require (intern req))
1812 (error nil)) 1804 (error nil))
@@ -1935,7 +1927,8 @@ Returns the buffer for the given server or channel."
1935 (goto-char (point-max)) 1927 (goto-char (point-max))
1936 (insert "\n")) 1928 (insert "\n"))
1937 (set-marker (process-mark erc-server-process) (point)) 1929 (set-marker (process-mark erc-server-process) (point))
1938 (unless continued-session 1930 (if continued-session
1931 (goto-char (point-max))
1939 (set-marker erc-insert-marker (point)) 1932 (set-marker erc-insert-marker (point))
1940 (erc-display-prompt) 1933 (erc-display-prompt)
1941 (goto-char (point-max))) 1934 (goto-char (point-max)))
@@ -6143,6 +6136,26 @@ This function should be on `erc-kill-channel-hook'."
6143 (funcall erc-part-reason nil)) 6136 (funcall erc-part-reason nil))
6144 nil tgt)))) 6137 nil tgt))))
6145 6138
6139;;; Dealing with `erc-parsed'
6140
6141(defun erc-get-parsed-vector (point)
6142 "Return the whole parsed vector on POINT."
6143 (get-text-property point 'erc-parsed))
6144
6145(defun erc-get-parsed-vector-nick (vect)
6146 "Return nickname in the parsed vector VECT."
6147 (let* ((untreated-nick (and vect (erc-response.sender vect)))
6148 (maybe-nick (when untreated-nick
6149 (car (split-string untreated-nick "!")))))
6150 (when (and (not (null maybe-nick))
6151 (erc-is-valid-nick-p maybe-nick))
6152 untreated-nick)))
6153
6154(defun erc-get-parsed-vector-type (vect)
6155 "Return message type in the parsed vector VECT."
6156 (and vect
6157 (erc-response.command vect)))
6158
6146(provide 'erc) 6159(provide 'erc)
6147 6160
6148;;; Deprecated. We might eventually stop requiring the goodies automatically. 6161;;; Deprecated. We might eventually stop requiring the goodies automatically.