aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2006-02-08 02:41:23 +0000
committerMiles Bader2006-02-08 02:41:23 +0000
commitc6b99621a2697da95326e97109f88a321fc66558 (patch)
tree10afb5d917a1d53cde74ce0071b94e91dad19d44
parent012ce704b5fe51b94345f9c7cb4c190390ba391f (diff)
downloademacs-c6b99621a2697da95326e97109f88a321fc66558.tar.gz
emacs-c6b99621a2697da95326e97109f88a321fc66558.zip
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-55
Creator: Michael Olson <mwolson@gnu.org> Merge from erc--emacs--0
-rw-r--r--lisp/erc/ChangeLog36
-rw-r--r--lisp/erc/ChangeLog.01 (renamed from lisp/erc/ChangeLog.2001)0
-rw-r--r--lisp/erc/ChangeLog.02 (renamed from lisp/erc/ChangeLog.2002)2
-rw-r--r--lisp/erc/ChangeLog.03 (renamed from lisp/erc/ChangeLog.2003)2
-rw-r--r--lisp/erc/ChangeLog.04 (renamed from lisp/erc/ChangeLog.2004)2
-rw-r--r--lisp/erc/ChangeLog.05 (renamed from lisp/erc/ChangeLog.2005)2
-rw-r--r--lisp/erc/erc-hecomplete.el (renamed from lisp/erc/erc-complete.el)34
-rw-r--r--lisp/erc/erc-join.el (renamed from lisp/erc/erc-autojoin.el)8
-rw-r--r--lisp/erc/erc-list.el2
-rw-r--r--lisp/erc/erc-networks.el (renamed from lisp/erc/erc-nets.el)11
-rw-r--r--lisp/erc/erc-notify.el2
-rw-r--r--lisp/erc/erc-services.el (renamed from lisp/erc/erc-nickserv.el)12
-rw-r--r--lisp/erc/erc-stamp.el22
-rw-r--r--lisp/erc/erc.el42
14 files changed, 116 insertions, 61 deletions
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 9646318e758..50b37eb044f 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,37 @@
12006-02-07 Michael Olson <mwolson@gnu.org>
2
3 * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04,
4 ChangeLog.05: Rename from ChangeLog.NNNN in order to disambiguate
5 the filenames in DOS.
6
7 * erc-goodies.el: Comment fix.
8
9 * erc-hecomplete.el: Rename from erc-complete.el. Update
10 commentary. Use define-erc-module so that it's possible to
11 actually use this.
12 (erc-hecomplete): Rename function from `erc-complete'.
13 (erc-hecomplete): Rename group from `erc-old-complete'. Docfix.
14
15 * erc-join.el: Rename from erc-autojoin.el.
16
17 * erc-networks.el: Rename from erc-nets.el.
18
19 * erc-services.el: Rename from erc-nickserv.el.
20
21 * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument. Use
22 the simpler `indent-to' function when
23 `erc-timestamp-right-align-by-pixel' is nil.
24 (erc-insert-timestamp-right): If the timestamp goes on the
25 following line, don't add timestamp properties to the spaces in
26 front of it.
27
28 * erc.el (erc-migrate-modules): New function that eases migration
29 of module names.
30 (erc-modules): Call erc-migrate-modules in the :get accessor.
31 (erc-modules, erc-update-modules): Update for new modules names.
32 (erc-cmd-SMV): Remove, since this does not give useful output due
33 to the version strings being removed from ERC modules.
34
12006-02-05 Michael Olson <mwolson@gnu.org> 352006-02-05 Michael Olson <mwolson@gnu.org>
2 36
3 * erc-spelling.el (erc-spelling-init): If 37 * erc-spelling.el (erc-spelling-init): If
@@ -393,7 +427,7 @@
393 where global-mode-string is not a list. Emacs22 permits this. 427 where global-mode-string is not a list. Emacs22 permits this.
394 428
395 429
396See ChangeLog.2005 for earlier changes. 430See ChangeLog.05 for earlier changes.
397 431
398 Copyright (C) 2006 Free Software Foundation, Inc. 432 Copyright (C) 2006 Free Software Foundation, Inc.
399 Copying and distribution of this file, with or without modification, 433 Copying and distribution of this file, with or without modification,
diff --git a/lisp/erc/ChangeLog.2001 b/lisp/erc/ChangeLog.01
index 20a03801477..20a03801477 100644
--- a/lisp/erc/ChangeLog.2001
+++ b/lisp/erc/ChangeLog.01
diff --git a/lisp/erc/ChangeLog.2002 b/lisp/erc/ChangeLog.02
index 81b3169e98c..006ac0c1415 100644
--- a/lisp/erc/ChangeLog.2002
+++ b/lisp/erc/ChangeLog.02
@@ -2594,7 +2594,7 @@
2594 Default it is used for URLs, but other things could be added. 2594 Default it is used for URLs, but other things could be added.
2595 see if you can find another use, erc-button-alist 2595 see if you can find another use, erc-button-alist
2596 2596
2597See ChangeLog.2001 for earlier changes. 2597See ChangeLog.01 for earlier changes.
2598 2598
2599 Copyright (C) 2002 Free Software Foundation, Inc. 2599 Copyright (C) 2002 Free Software Foundation, Inc.
2600 Copying and distribution of this file, with or without modification, 2600 Copying and distribution of this file, with or without modification,
diff --git a/lisp/erc/ChangeLog.2003 b/lisp/erc/ChangeLog.03
index 6d650c9e150..6f55258c04e 100644
--- a/lisp/erc/ChangeLog.2003
+++ b/lisp/erc/ChangeLog.03
@@ -2138,7 +2138,7 @@
2138 behavior - if you think this was the wrong decision, please correct it and 2138 behavior - if you think this was the wrong decision, please correct it and
2139 I'll remember it for next time. 2139 I'll remember it for next time.
2140 2140
2141See ChangeLog.2002 for earlier changes. 2141See ChangeLog.02 for earlier changes.
2142 2142
2143 Copyright (C) 2003 Free Software Foundation, Inc. 2143 Copyright (C) 2003 Free Software Foundation, Inc.
2144 Copying and distribution of this file, with or without modification, 2144 Copying and distribution of this file, with or without modification,
diff --git a/lisp/erc/ChangeLog.2004 b/lisp/erc/ChangeLog.04
index fd5e0aff795..3ab41db65b4 100644
--- a/lisp/erc/ChangeLog.2004
+++ b/lisp/erc/ChangeLog.04
@@ -2067,7 +2067,7 @@
2067 2067
2068 * erc-list.el: Added variable erc-chanlist-mode-hook. 2068 * erc-list.el: Added variable erc-chanlist-mode-hook.
2069 2069
2070See ChangeLog.2003 for earlier changes. 2070See ChangeLog.03 for earlier changes.
2071 2071
2072 Copyright (C) 2004 Free Software Foundation, Inc. 2072 Copyright (C) 2004 Free Software Foundation, Inc.
2073 Copying and distribution of this file, with or without modification, 2073 Copying and distribution of this file, with or without modification,
diff --git a/lisp/erc/ChangeLog.2005 b/lisp/erc/ChangeLog.05
index 09dc245d13c..8fa725459e2 100644
--- a/lisp/erc/ChangeLog.2005
+++ b/lisp/erc/ChangeLog.05
@@ -1215,7 +1215,7 @@
1215 bug where emacs would get stuck in a loop when \C-g was in a 1215 bug where emacs would get stuck in a loop when \C-g was in a
1216 message and `erc-beep-p' was set to nil (default setting). 1216 message and `erc-beep-p' was set to nil (default setting).
1217 1217
1218See ChangeLog.2004 for earlier changes. 1218See ChangeLog.04 for earlier changes.
1219 1219
1220 Copyright (C) 2005 Free Software Foundation, Inc. 1220 Copyright (C) 2005 Free Software Foundation, Inc.
1221 Copying and distribution of this file, with or without modification, 1221 Copying and distribution of this file, with or without modification,
diff --git a/lisp/erc/erc-complete.el b/lisp/erc/erc-hecomplete.el
index dd0130156f9..763d75c8fc7 100644
--- a/lisp/erc/erc-complete.el
+++ b/lisp/erc/erc-hecomplete.el
@@ -1,4 +1,4 @@
1;;; erc-complete.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 Free Software Foundation, Inc.
4 4
@@ -24,12 +24,11 @@
24 24
25;;; Commentary: 25;;; Commentary:
26 26
27;; This file is obsolete. Use completion from erc-pcomplete instead. 27;; This file is considered obsolete. It is recommended to use
28;; This file is based on hippie-expand, while the new file is based on 28;; completion from erc-pcomplete instead.
29;; pcomplete. There is no autoload cookie in this file. If you want
30;; to use the code in this file, add the following to your ~/.emacs:
31 29
32;; (autoload 'erc-complete "erc-complete" "Complete nick at point." t) 30;; This file is based on hippie-expand, while the new file is based on
31;; pcomplete.
33 32
34;;; Code: 33;;; Code:
35 34
@@ -37,8 +36,13 @@
37(require 'erc-match); for erc-pals 36(require 'erc-match); for erc-pals
38(require 'hippie-exp); for the hippie expand stuff 37(require 'hippie-exp); for the hippie expand stuff
39 38
40;;;###autoload 39;;;###autoload (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t)
41(defun erc-complete () 40(define-erc-module hecomplete nil
41 "Complete nick at point."
42 ((add-hook 'erc-complete-functions 'erc-hecomplete))
43 ((remove-hook 'erc-complete-functions 'erc-hecomplete)))
44
45(defun erc-hecomplete ()
42 "Complete nick at point. 46 "Complete nick at point.
43See `erc-try-complete-nick' for more technical info. 47See `erc-try-complete-nick' for more technical info.
44This function is obsolete, use `erc-pcomplete' instead." 48This function is obsolete, use `erc-pcomplete' instead."
@@ -46,8 +50,8 @@ This function is obsolete, use `erc-pcomplete' instead."
46 (let ((hippie-expand-try-functions-list '(erc-try-complete-nick))) 50 (let ((hippie-expand-try-functions-list '(erc-try-complete-nick)))
47 (hippie-expand nil))) 51 (hippie-expand nil)))
48 52
49(defgroup erc-old-complete nil 53(defgroup erc-hecomplete nil
50 "Nick completion. Obsolete, use erc-pcomplete instead." 54 "Nick completion. It is recommended to use erc-pcomplete instead."
51 :group 'erc) 55 :group 'erc)
52 56
53(defcustom erc-nick-completion 'all 57(defcustom erc-nick-completion 'all
@@ -67,14 +71,14 @@ or you may use an arbitrary lisp expression."
67 (repeat :tag "List" (string :tag "Nick")) 71 (repeat :tag "List" (string :tag "Nick"))
68 function 72 function
69 sexp) 73 sexp)
70 :group 'erc-old-complete) 74 :group 'erc-hecomplete)
71 75
72(defcustom erc-nick-completion-ignore-case t 76(defcustom erc-nick-completion-ignore-case t
73 "*Non-nil means don't consider case significant in nick completion. 77 "*Non-nil means don't consider case significant in nick completion.
74Case will be automatically corrected when non-nil. 78Case will be automatically corrected when non-nil.
75For instance if you type \"dely TAB\" the word completes and changes to 79For instance if you type \"dely TAB\" the word completes and changes to
76\"delYsid\"." 80\"delYsid\"."
77 :group 'erc-old-complete 81 :group 'erc-hecomplete
78 :type 'boolean) 82 :type 'boolean)
79 83
80(defun erc-nick-completion-exclude-myself () 84(defun erc-nick-completion-exclude-myself ()
@@ -91,7 +95,7 @@ typing \"f o TAB\" will directly give you foobar. Use this with
91(defcustom erc-nick-completion-postfix ": " 95(defcustom erc-nick-completion-postfix ": "
92 "*When `erc-complete' is used in the first word after the prompt, 96 "*When `erc-complete' is used in the first word after the prompt,
93add this string when a unique expansion was found." 97add this string when a unique expansion was found."
94 :group 'erc-old-complete 98 :group 'erc-hecomplete
95 :type 'string) 99 :type 'string)
96 100
97(defun erc-command-list () 101(defun erc-command-list ()
@@ -209,9 +213,9 @@ Window configurations are stored in
209 "Returns t if point is directly after `erc-prompt' when doing completion." 213 "Returns t if point is directly after `erc-prompt' when doing completion."
210 (erc-at-beginning-of-line-p (he-dabbrev-beg))) 214 (erc-at-beginning-of-line-p (he-dabbrev-beg)))
211 215
212(provide 'erc-complete) 216(provide 'erc-hecomplete)
213 217
214;;; erc-complete.el ends here 218;;; erc-hecomplete.el ends here
215;; 219;;
216;; Local Variables: 220;; Local Variables:
217;; indent-tabs-mode: t 221;; indent-tabs-mode: t
diff --git a/lisp/erc/erc-autojoin.el b/lisp/erc/erc-join.el
index 06b1547b327..da41ea77374 100644
--- a/lisp/erc/erc-autojoin.el
+++ b/lisp/erc/erc-join.el
@@ -1,4 +1,4 @@
1;;; erc-autojoin.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 Free Software Foundation, Inc.
4 4
@@ -40,7 +40,7 @@
40 "Enable autojoining." 40 "Enable autojoining."
41 :group 'erc) 41 :group 'erc)
42 42
43;;;###autoload (autoload 'erc-autojoin-mode "erc-autojoin" nil t) 43;;;###autoload (autoload 'erc-autojoin-mode "erc-join" nil t)
44(define-erc-module autojoin nil 44(define-erc-module autojoin nil
45 "Makes ERC autojoin on connects and reconnects." 45 "Makes ERC autojoin on connects and reconnects."
46 ((add-hook 'erc-after-connect 'erc-autojoin-channels) 46 ((add-hook 'erc-after-connect 'erc-autojoin-channels)
@@ -127,9 +127,9 @@ servers, presumably in the same domain."
127 ;; functions. 127 ;; functions.
128 nil) 128 nil)
129 129
130(provide 'erc-autojoin) 130(provide 'erc-join)
131 131
132;;; erc-autojoin.el ends here 132;;; erc-join.el ends here
133;; 133;;
134;; Local Variables: 134;; Local Variables:
135;; indent-tabs-mode: t 135;; indent-tabs-mode: t
diff --git a/lisp/erc/erc-list.el b/lisp/erc/erc-list.el
index 785e4d19750..9bc561523d9 100644
--- a/lisp/erc/erc-list.el
+++ b/lisp/erc/erc-list.el
@@ -32,7 +32,7 @@
32;;; Code: 32;;; Code:
33 33
34(require 'erc) 34(require 'erc)
35(require 'erc-nets) 35(require 'erc-networks)
36(require 'sort) 36(require 'sort)
37(unless (fboundp 'make-overlay) 37(unless (fboundp 'make-overlay)
38 (require 'overlay)) 38 (require 'overlay))
diff --git a/lisp/erc/erc-nets.el b/lisp/erc/erc-networks.el
index 716a42996d5..b79a56a359c 100644
--- a/lisp/erc/erc-nets.el
+++ b/lisp/erc/erc-networks.el
@@ -1,4 +1,4 @@
1;;; erc-nets.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 Free Software Foundation, Inc.
4 4
@@ -30,7 +30,7 @@
30;; 30;;
31;; Put into your .emacs: 31;; Put into your .emacs:
32;; 32;;
33;; (require 'erc-nets) 33;; (require 'erc-networks)
34;; 34;;
35;; M-x erc-server-select provides an alternative way to connect to servers by 35;; M-x erc-server-select provides an alternative way to connect to servers by
36;; choosing networks. 36;; choosing networks.
@@ -742,7 +742,7 @@ network as a symbol."
742 (intern (downcase (symbol-name erc-network))))) 742 (intern (downcase (symbol-name erc-network)))))
743 743
744(erc-make-obsolete 'erc-current-network 'erc-network 744(erc-make-obsolete 'erc-current-network 'erc-network
745 "Obsolete since erc-nets 1.5") 745 "Obsolete since erc-networks 1.5")
746 746
747(defun erc-network-name () 747(defun erc-network-name ()
748 "Returns the name of the current network as a string." 748 "Returns the name of the current network as a string."
@@ -848,10 +848,9 @@ VALUE is the options value.")
848 848
849(erc-get 'pals 'freenode) 849(erc-get 'pals 'freenode)
850 850
851(provide 'erc-networks)
851 852
852(provide 'erc-nets) 853;;; erc-networks.el ends here
853
854;;; erc-nets.el ends here
855;; 854;;
856;; Local Variables: 855;; Local Variables:
857;; indent-tabs-mode: t 856;; indent-tabs-mode: t
diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el
index 9fc7f572977..1d2bdbd5f45 100644
--- a/lisp/erc/erc-notify.el
+++ b/lisp/erc/erc-notify.el
@@ -30,7 +30,7 @@
30;;; Code: 30;;; Code:
31 31
32(require 'erc) 32(require 'erc)
33(require 'erc-nets) 33(require 'erc-networks)
34(eval-when-compile 34(eval-when-compile
35 (require 'cl) 35 (require 'cl)
36 (require 'pcomplete)) 36 (require 'pcomplete))
diff --git a/lisp/erc/erc-nickserv.el b/lisp/erc/erc-services.el
index be5541d3b5c..676948752fd 100644
--- a/lisp/erc/erc-nickserv.el
+++ b/lisp/erc/erc-services.el
@@ -1,4 +1,4 @@
1;;; erc-nickserv.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 Free Software Foundation, Inc.
4 4
@@ -37,7 +37,7 @@
37;; 37;;
38;; Put into your .emacs: 38;; Put into your .emacs:
39;; 39;;
40;; (require 'erc-nickserv) 40;; (require 'erc-services)
41;; (erc-services-mode 1) 41;; (erc-services-mode 1)
42;; 42;;
43;; Add your nickname and NickServ password to `erc-nickserv-passwords'. 43;; Add your nickname and NickServ password to `erc-nickserv-passwords'.
@@ -60,7 +60,7 @@
60;;; Code: 60;;; Code:
61 61
62(require 'erc) 62(require 'erc)
63(require 'erc-nets) 63(require 'erc-networks)
64(eval-when-compile (require 'cl)) 64(eval-when-compile (require 'cl))
65 65
66;; Customization: 66;; Customization:
@@ -77,7 +77,7 @@ This group allows you to set variables to somewhat automate
77communication with those Services." 77communication with those Services."
78 :group 'erc) 78 :group 'erc)
79 79
80;;;###autoload (autoload 'erc-services-mode "erc-nickserv" nil t) 80;;;###autoload (autoload 'erc-services-mode "erc-services" nil t)
81(define-erc-module services nickserv 81(define-erc-module services nickserv
82 "This mode automates communication with services." 82 "This mode automates communication with services."
83 ((erc-nickserv-identify-mode erc-nickserv-identify-mode)) 83 ((erc-nickserv-identify-mode erc-nickserv-identify-mode))
@@ -325,9 +325,9 @@ When called interactively, read the password using `read-passwd'."
325 (erc-message msgtype 325 (erc-message msgtype
326 (concat nickserv " " identify-word " " nick password))))) 326 (concat nickserv " " identify-word " " nick password)))))
327 327
328(provide 'erc-nickserv) 328(provide 'erc-services)
329 329
330;;; erc-nickserv.el ends here 330;;; erc-services.el ends here
331;; 331;;
332;; Local Variables: 332;; Local Variables:
333;; indent-tabs-mode: t 333;; indent-tabs-mode: t
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index 6b34a2592f4..ead847ff73f 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -199,20 +199,20 @@ Window System."
199 (erc-put-text-property 0 len 'field 'erc-timestamp s) 199 (erc-put-text-property 0 len 'field 'erc-timestamp s)
200 (insert s))) 200 (insert s)))
201 201
202(defun erc-insert-aligned (string pos &optional fallback) 202(defun erc-insert-aligned (string pos)
203 "Insert STRING based on a fraction of the width of the buffer. 203 "Insert STRING based on a fraction of the width of the buffer.
204Fraction is roughly (/ POS (window-width)). 204Fraction is roughly (/ POS (window-width)).
205 205
206If `erc-timestamp-right-align-by-pixel' is nil, use 206If `erc-timestamp-right-align-by-pixel' is nil, insert STRING at the
207\(- POS FALLBACK) to determine how many spaces to insert." 207POSth column, without using pixel coordinates."
208 (if (not erc-timestamp-right-align-by-pixel) 208 (if (not erc-timestamp-right-align-by-pixel)
209 (insert (make-string (- pos fallback) ? ) string) 209 (indent-to pos)
210 (insert " ") 210 (insert " ")
211 (let ((offset (floor (* (/ (1- pos) (window-width) 1.0) 211 (let ((offset (floor (* (/ (1- pos) (window-width) 1.0)
212 (nth 2 (window-inside-pixel-edges)))))) 212 (nth 2 (window-inside-pixel-edges))))))
213 (put-text-property (1- (point)) (point) 'display 213 (put-text-property (1- (point)) (point) 'display
214 `(space :align-to (,offset)))) 214 `(space :align-to (,offset)))))
215 (insert string))) 215 (insert string))
216 216
217(defun erc-insert-timestamp-right (string) 217(defun erc-insert-timestamp-right (string)
218 "Insert timestamp on the right side of the screen. 218 "Insert timestamp on the right side of the screen.
@@ -257,14 +257,16 @@ be printed just before the window-width."
257 indent) 257 indent)
258 ;; deal with variable-width characters 258 ;; deal with variable-width characters
259 (setq pos (- pos (string-width string)) 259 (setq pos (- pos (string-width string))
260 ;; the following is a kludge that works with most 260 ;; The following is a kludge that works with most
261 ;; international input 261 ;; international input. It is now only used to calculate
262 ;; whether to move to the next line before inserting a
263 ;; stamp.
262 col (+ col (ceiling (/ (- col (- (point) (point-at-bol))) 1.6)))) 264 col (+ col (ceiling (/ (- col (- (point) (point-at-bol))) 1.6))))
263 (if (< col pos) 265 (if (< col pos)
264 (erc-insert-aligned string pos col) 266 (erc-insert-aligned string pos)
265 (newline) 267 (newline)
266 (setq from (point))
267 (indent-to pos) 268 (indent-to pos)
269 (setq from (point))
268 (insert string)) 270 (insert string))
269 (erc-put-text-property from (1+ (point)) 'field 'erc-timestamp) 271 (erc-put-text-property from (1+ (point)) 'field 'erc-timestamp)
270 (erc-put-text-property from (1+ (point)) 'rear-nonsticky t) 272 (erc-put-text-property from (1+ (point)) 'rear-nonsticky t)
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 8d380847f5a..936fffa252f 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1716,6 +1716,22 @@ all channel buffers on all servers."
1716 "Used to keep track of how many times an attempt at changing nick is made.") 1716 "Used to keep track of how many times an attempt at changing nick is made.")
1717(make-variable-buffer-local 'erc-nick-change-attempt-count) 1717(make-variable-buffer-local 'erc-nick-change-attempt-count)
1718 1718
1719(defun erc-migrate-modules (mods)
1720 "Migrate old names of ERC modules to new ones."
1721 ;; modify `transforms' to specify what needs to be changed
1722 ;; each item is in the format '(new .old)
1723 (let ((transforms '((pcomplete . completion)))
1724 (modules (copy-alist mods)))
1725 (dolist (transform transforms)
1726 (let ((addp nil))
1727 (setq modules (erc-delete-if `(lambda (val)
1728 (and (eq val ',(car transform))
1729 (setq addition t)))
1730 modules))
1731 (when addp
1732 (add-to-list 'modules (cdr transform)))))
1733 (erc-delete-dups modules)))
1734
1719(defcustom erc-modules '(netsplit fill button match track pcomplete readonly 1735(defcustom erc-modules '(netsplit fill button match track pcomplete readonly
1720 ring autojoin noncommands irccontrols 1736 ring autojoin noncommands irccontrols
1721 stamp) 1737 stamp)
@@ -1723,6 +1739,9 @@ all channel buffers on all servers."
1723If you set the value of this without using `customize' remember to call 1739If you set the value of this without using `customize' remember to call
1724\(erc-update-modules) after you change it. When using `customize', modules 1740\(erc-update-modules) after you change it. When using `customize', modules
1725removed from the list will be disabled." 1741removed from the list will be disabled."
1742 :get (lambda (sym)
1743 ;; replace outdated names with their newer equivalents
1744 (erc-migrate-modules (symbol-value sym)))
1726 :set (lambda (sym val) 1745 :set (lambda (sym val)
1727 ;; disable modules which have just been removed 1746 ;; disable modules which have just been removed
1728 (when (and (boundp 'erc-modules) erc-modules val) 1747 (when (and (boundp 'erc-modules) erc-modules val)
@@ -1732,7 +1751,7 @@ removed from the list will be disabled."
1732 (when (and (fboundp f) (boundp f) (symbol-value f)) 1751 (when (and (fboundp f) (boundp f) (symbol-value f))
1733 (message "Disabling `erc-%s'" module) 1752 (message "Disabling `erc-%s'" module)
1734 (funcall f 0)))))) 1753 (funcall f 0))))))
1735 (set-default sym val) 1754 (set sym val)
1736 ;; this test is for the case where erc hasn't been loaded yet 1755 ;; this test is for the case where erc hasn't been loaded yet
1737 (when (fboundp 'erc-update-modules) 1756 (when (fboundp 'erc-update-modules)
1738 (erc-update-modules))) 1757 (erc-update-modules)))
@@ -1753,8 +1772,8 @@ removed from the list will be disabled."
1753 "Notify when the online status of certain users changes" 1772 "Notify when the online status of certain users changes"
1754 notify) 1773 notify)
1755 (const :tag "Complete nicknames and commands (programmable)" 1774 (const :tag "Complete nicknames and commands (programmable)"
1756 pcomplete) 1775 completion)
1757 (const :tag "Complete nicknames and commands (old)" completion) 1776 (const :tag "Complete nicknames and commands (old)" hecomplete)
1758 (const :tag "Make displayed lines read-only" readonly) 1777 (const :tag "Make displayed lines read-only" readonly)
1759 (const :tag "Replace text in messages" replace) 1778 (const :tag "Replace text in messages" replace)
1760 (const :tag "Enable an input history" ring) 1779 (const :tag "Enable an input history" ring)
@@ -1781,10 +1800,13 @@ removed from the list will be disabled."
1781 ;; yuck. perhaps we should bring the filenames into sync? 1800 ;; yuck. perhaps we should bring the filenames into sync?
1782 ((string= req "erc-completion") 1801 ((string= req "erc-completion")
1783 (setq req "erc-pcomplete") 1802 (setq req "erc-pcomplete")
1784 (setq mod 'pcomplete)) 1803 (setq mod 'completion))
1785 ((string= req "erc-services") 1804 ((string= req "erc-pcomplete")
1786 (setq req "erc-nickserv") 1805 (setq req "erc-pcomplete")
1787 (setq mod 'services))) 1806 (setq mod 'completion))
1807 ((string= req "erc-autojoin")
1808 (setq req "erc-join")
1809 (setq mod 'autojoin)))
1788 (condition-case nil 1810 (condition-case nil
1789 (require (intern req)) 1811 (require (intern req))
1790 (error nil)) 1812 (error nil))
@@ -3142,12 +3164,6 @@ the message given by REASON."
3142 (erc-modes))) 3164 (erc-modes)))
3143 t) 3165 t)
3144 3166
3145(defun erc-cmd-SMV ()
3146 "Say the current ERC module versions into channel."
3147 (erc-send-message (format "I'm using the following module revisions: %s!"
3148 (erc-version-modules)))
3149 t)
3150
3151(defun erc-cmd-DEOP (&rest people) 3167(defun erc-cmd-DEOP (&rest people)
3152 "Remove the operator setting from user(s) given in PEOPLE." 3168 "Remove the operator setting from user(s) given in PEOPLE."
3153 (when (> (length people) 0) 3169 (when (> (length people) 0)