aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2012-11-19 12:24:12 -0500
committerStefan Monnier2012-11-19 12:24:12 -0500
commit19dc72069c79865d5464737b4ce10ed25a3be49b (patch)
tree58eb37bf96ecbb9659eba0b95f6fa42ea4551a5d /lisp
parent855b17af8fd8a96e1ca66a652b88f34479df12d7 (diff)
downloademacs-19dc72069c79865d5464737b4ce10ed25a3be49b.tar.gz
emacs-19dc72069c79865d5464737b4ce10ed25a3be49b.zip
Use cl-lib instead of cl, and interactive-p => called-interactively-p.
* lisp/erc/erc-track.el, lisp/erc/erc-networks.el, lisp/erc/erc-netsplit.el: * lisp/erc/erc-dcc.el, lisp/erc/erc-backend.el: Use cl-lib, nth, pcase, and called-interactively-p instead of cl. * lisp/erc/erc-speedbar.el, lisp/erc/erc-services.el: * lisp/erc/erc-pcomplete.el, lisp/erc/erc-notify.el, lisp/erc/erc-match.el: * lisp/erc/erc-log.el, lisp/erc/erc-join.el, lisp/erc/erc-ezbounce.el: * lisp/erc/erc-capab.el: Don't require cl since we don't use it. * lisp/erc/erc.el: Use cl-lib, nth, pcase, and called-interactively-p i.s.o cl. (erc-lurker-ignore-chars, erc-common-server-suffixes): Move before first use. * lisp/json.el: Don't require cl since we don't use it. * lisp/color.el: Don't require cl. (color-complement): `caddr' -> `nth 2'. * test/automated/ert-x-tests.el: Use cl-lib. * test/automated/ert-tests.el: Use lexical-binding and cl-lib.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/color.el9
-rw-r--r--lisp/erc/ChangeLog13
-rw-r--r--lisp/erc/erc-backend.el156
-rw-r--r--lisp/erc/erc-capab.el1
-rw-r--r--lisp/erc/erc-dcc.el68
-rw-r--r--lisp/erc/erc-ezbounce.el1
-rw-r--r--lisp/erc/erc-join.el1
-rw-r--r--lisp/erc/erc-log.el7
-rw-r--r--lisp/erc/erc-match.el1
-rw-r--r--lisp/erc/erc-netsplit.el7
-rw-r--r--lisp/erc/erc-networks.el14
-rw-r--r--lisp/erc/erc-notify.el4
-rw-r--r--lisp/erc/erc-pcomplete.el1
-rw-r--r--lisp/erc/erc-services.el2
-rw-r--r--lisp/erc/erc-speedbar.el1
-rw-r--r--lisp/erc/erc-track.el26
-rw-r--r--lisp/erc/erc.el99
-rw-r--r--lisp/json.el1
19 files changed, 209 insertions, 207 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index abaa53f5e4c..cd81564d032 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
12012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> 12012-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * json.el: Don't require cl since we don't use it.
4 * color.el: Don't require cl.
5 (color-complement): `caddr' -> `nth 2'.
6
3 * calendar/time-date.el (time-to-seconds): De-obsolete. 7 * calendar/time-date.el (time-to-seconds): De-obsolete.
4 8
52012-11-19 Jay Belanger <jay.p.belanger@gmail.com> 92012-11-19 Jay Belanger <jay.p.belanger@gmail.com>
diff --git a/lisp/color.el b/lisp/color.el
index b915beacb0a..e1563ea474c 100644
--- a/lisp/color.el
+++ b/lisp/color.el
@@ -33,9 +33,6 @@
33 33
34;;; Code: 34;;; Code:
35 35
36(eval-when-compile
37 (require 'cl))
38
39;; Emacs < 23.3 36;; Emacs < 23.3
40(eval-and-compile 37(eval-and-compile
41 (unless (boundp 'float-pi) 38 (unless (boundp 'float-pi)
@@ -69,9 +66,9 @@ RED, GREEN, and BLUE should be numbers between 0.0 and 1.0, inclusive."
69COLOR-NAME should be a string naming a color (e.g. \"white\"), or 66COLOR-NAME should be a string naming a color (e.g. \"white\"), or
70a string specifying a color's RGB components (e.g. \"#ff12ec\")." 67a string specifying a color's RGB components (e.g. \"#ff12ec\")."
71 (let ((color (color-name-to-rgb color-name))) 68 (let ((color (color-name-to-rgb color-name)))
72 (list (- 1.0 (car color)) 69 (list (- 1.0 (nth 0 color))
73 (- 1.0 (cadr color)) 70 (- 1.0 (nth 1 color))
74 (- 1.0 (caddr color))))) 71 (- 1.0 (nth 2 color)))))
75 72
76(defun color-gradient (start stop step-number) 73(defun color-gradient (start stop step-number)
77 "Return a list with STEP-NUMBER colors from START to STOP. 74 "Return a list with STEP-NUMBER colors from START to STOP.
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index e0a88461dc9..ca7edd1aa88 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,16 @@
12012-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 Use cl-lib instead of cl, and interactive-p => called-interactively-p.
4 * erc-track.el, erc-networks.el, erc-netsplit.el, erc-dcc.el:
5 * erc-backend.el: Use cl-lib, nth, pcase, and called-interactively-p
6 instead of cl.
7 * erc-speedbar.el, erc-services.el, erc-pcomplete.el, erc-notify.el:
8 * erc-match.el, erc-log.el, erc-join.el, erc-ezbounce.el:
9 * erc-capab.el: Don't require cl since we don't use it.
10 * erc.el: Use cl-lib, nth, pcase, and called-interactively-p i.s.o cl.
11 (erc-lurker-ignore-chars, erc-common-server-suffixes):
12 Move before first use.
13
12012-11-16 Glenn Morris <rgm@gnu.org> 142012-11-16 Glenn Morris <rgm@gnu.org>
2 15
3 * erc.el (erc-modules): Add "notifications". Tweak "hecomplete" doc. 16 * erc.el (erc-modules): Add "notifications". Tweak "hecomplete" doc.
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 90b96d7c763..a3d0ebe121f 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -98,7 +98,7 @@
98;;; Code: 98;;; Code:
99 99
100(require 'erc-compat) 100(require 'erc-compat)
101(eval-when-compile (require 'cl)) 101(eval-when-compile (require 'cl-lib))
102;; There's a fairly strong mutual dependency between erc.el and erc-backend.el. 102;; There's a fairly strong mutual dependency between erc.el and erc-backend.el.
103;; Luckily, erc.el does not need erc-backend.el for macroexpansion whereas the 103;; Luckily, erc.el does not need erc-backend.el for macroexpansion whereas the
104;; reverse is true: 104;; reverse is true:
@@ -109,7 +109,7 @@
109(defvar erc-server-responses (make-hash-table :test #'equal) 109(defvar erc-server-responses (make-hash-table :test #'equal)
110 "Hashtable mapping server responses to their handler hooks.") 110 "Hashtable mapping server responses to their handler hooks.")
111 111
112(defstruct (erc-response (:conc-name erc-response.)) 112(cl-defstruct (erc-response (:conc-name erc-response.))
113 (unparsed "" :type string) 113 (unparsed "" :type string)
114 (sender "" :type string) 114 (sender "" :type string)
115 (command "" :type string) 115 (command "" :type string)
@@ -950,7 +950,7 @@ PROCs `process-buffer' is `current-buffer' when this function is called."
950 (push str (erc-response.command-args msg)))) 950 (push str (erc-response.command-args msg))))
951 951
952 (setf (erc-response.contents msg) 952 (setf (erc-response.contents msg)
953 (first (erc-response.command-args msg))) 953 (car (erc-response.command-args msg)))
954 954
955 (setf (erc-response.command-args msg) 955 (setf (erc-response.command-args msg)
956 (nreverse (erc-response.command-args msg))) 956 (nreverse (erc-response.command-args msg)))
@@ -1045,7 +1045,7 @@ Finds hooks by looking in the `erc-server-responses' hashtable."
1045 (name &rest name) 1045 (name &rest name)
1046 &optional sexp sexp def-body)) 1046 &optional sexp sexp def-body))
1047 1047
1048(defmacro* define-erc-response-handler ((name &rest aliases) 1048(cl-defmacro define-erc-response-handler ((name &rest aliases)
1049 &optional extra-fn-doc extra-var-doc 1049 &optional extra-fn-doc extra-var-doc
1050 &rest fn-body) 1050 &rest fn-body)
1051 "Define an ERC handler hook/function pair. 1051 "Define an ERC handler hook/function pair.
@@ -1154,11 +1154,11 @@ add things to `%s' instead."
1154 "") 1154 "")
1155 name hook-name)) 1155 name hook-name))
1156 (fn-alternates 1156 (fn-alternates
1157 (loop for alias in aliases 1157 (cl-loop for alias in aliases
1158 collect (intern (format "erc-server-%s" alias)))) 1158 collect (intern (format "erc-server-%s" alias))))
1159 (var-alternates 1159 (var-alternates
1160 (loop for alias in aliases 1160 (cl-loop for alias in aliases
1161 collect (intern (format "erc-server-%s-functions" alias))))) 1161 collect (intern (format "erc-server-%s-functions" alias)))))
1162 `(prog2 1162 `(prog2
1163 ;; Normal hook variable. 1163 ;; Normal hook variable.
1164 (defvar ,hook-name ',fn-name ,(format hook-doc name)) 1164 (defvar ,hook-name ',fn-name ,(format hook-doc name))
@@ -1172,19 +1172,19 @@ add things to `%s' instead."
1172 (put ',hook-name 'definition-name ',name) 1172 (put ',hook-name 'definition-name ',name)
1173 1173
1174 ;; Hashtable map of responses to hook variables 1174 ;; Hashtable map of responses to hook variables
1175 ,@(loop for response in (cons name aliases) 1175 ,@(cl-loop for response in (cons name aliases)
1176 for var in (cons hook-name var-alternates) 1176 for var in (cons hook-name var-alternates)
1177 collect `(puthash ,(format "%s" response) ',var 1177 collect `(puthash ,(format "%s" response) ',var
1178 erc-server-responses)) 1178 erc-server-responses))
1179 ;; Alternates. 1179 ;; Alternates.
1180 ;; Functions are defaliased, hook variables are defvared so we 1180 ;; Functions are defaliased, hook variables are defvared so we
1181 ;; can add hooks to one alias, but not another. 1181 ;; can add hooks to one alias, but not another.
1182 ,@(loop for fn in fn-alternates 1182 ,@(cl-loop for fn in fn-alternates
1183 for var in var-alternates 1183 for var in var-alternates
1184 for a in aliases 1184 for a in aliases
1185 nconc (list `(defalias ',fn ',fn-name) 1185 nconc (list `(defalias ',fn ',fn-name)
1186 `(defvar ,var ',fn-name ,(format hook-doc a)) 1186 `(defvar ,var ',fn-name ,(format hook-doc a))
1187 `(put ',var 'definition-name ',hook-name)))))) 1187 `(put ',var 'definition-name ',hook-name))))))
1188 1188
1189(define-erc-response-handler (ERROR) 1189(define-erc-response-handler (ERROR)
1190 "Handle an ERROR command from the server." nil 1190 "Handle an ERROR command from the server." nil
@@ -1196,10 +1196,10 @@ add things to `%s' instead."
1196(define-erc-response-handler (INVITE) 1196(define-erc-response-handler (INVITE)
1197 "Handle invitation messages." 1197 "Handle invitation messages."
1198 nil 1198 nil
1199 (let ((target (first (erc-response.command-args parsed))) 1199 (let ((target (car (erc-response.command-args parsed)))
1200 (chnl (erc-response.contents parsed))) 1200 (chnl (erc-response.contents parsed)))
1201 (multiple-value-bind (nick login host) 1201 (pcase-let ((`(,nick ,login ,host)
1202 (values-list (erc-parse-user (erc-response.sender parsed))) 1202 (erc-parse-user (erc-response.sender parsed))))
1203 (setq erc-invitation chnl) 1203 (setq erc-invitation chnl)
1204 (when (string= target (erc-current-nick)) 1204 (when (string= target (erc-current-nick))
1205 (erc-display-message 1205 (erc-display-message
@@ -1212,8 +1212,8 @@ add things to `%s' instead."
1212 nil 1212 nil
1213 (let ((chnl (erc-response.contents parsed)) 1213 (let ((chnl (erc-response.contents parsed))
1214 (buffer nil)) 1214 (buffer nil))
1215 (multiple-value-bind (nick login host) 1215 (pcase-let ((`(,nick ,login ,host)
1216 (values-list (erc-parse-user (erc-response.sender parsed))) 1216 (erc-parse-user (erc-response.sender parsed))))
1217 ;; strip the stupid combined JOIN facility (IRC 2.9) 1217 ;; strip the stupid combined JOIN facility (IRC 2.9)
1218 (if (string-match "^\\(.*\\)?\^g.*$" chnl) 1218 (if (string-match "^\\(.*\\)?\^g.*$" chnl)
1219 (setq chnl (match-string 1 chnl))) 1219 (setq chnl (match-string 1 chnl)))
@@ -1249,12 +1249,12 @@ add things to `%s' instead."
1249 1249
1250(define-erc-response-handler (KICK) 1250(define-erc-response-handler (KICK)
1251 "Handle kick messages received from the server." nil 1251 "Handle kick messages received from the server." nil
1252 (let* ((ch (first (erc-response.command-args parsed))) 1252 (let* ((ch (nth 0 (erc-response.command-args parsed)))
1253 (tgt (second (erc-response.command-args parsed))) 1253 (tgt (nth 1 (erc-response.command-args parsed)))
1254 (reason (erc-trim-string (erc-response.contents parsed))) 1254 (reason (erc-trim-string (erc-response.contents parsed)))
1255 (buffer (erc-get-buffer ch proc))) 1255 (buffer (erc-get-buffer ch proc)))
1256 (multiple-value-bind (nick login host) 1256 (pcase-let ((`(,nick ,login ,host)
1257 (values-list (erc-parse-user (erc-response.sender parsed))) 1257 (erc-parse-user (erc-response.sender parsed))))
1258 (erc-remove-channel-member buffer tgt) 1258 (erc-remove-channel-member buffer tgt)
1259 (cond 1259 (cond
1260 ((string= tgt (erc-current-nick)) 1260 ((string= tgt (erc-current-nick))
@@ -1277,11 +1277,11 @@ add things to `%s' instead."
1277 1277
1278(define-erc-response-handler (MODE) 1278(define-erc-response-handler (MODE)
1279 "Handle server mode changes." nil 1279 "Handle server mode changes." nil
1280 (let ((tgt (first (erc-response.command-args parsed))) 1280 (let ((tgt (car (erc-response.command-args parsed)))
1281 (mode (mapconcat 'identity (cdr (erc-response.command-args parsed)) 1281 (mode (mapconcat 'identity (cdr (erc-response.command-args parsed))
1282 " "))) 1282 " ")))
1283 (multiple-value-bind (nick login host) 1283 (pcase-let ((`(,nick ,login ,host)
1284 (values-list (erc-parse-user (erc-response.sender parsed))) 1284 (erc-parse-user (erc-response.sender parsed))))
1285 (erc-log (format "MODE: %s -> %s: %s" nick tgt mode)) 1285 (erc-log (format "MODE: %s -> %s: %s" nick tgt mode))
1286 ;; dirty hack 1286 ;; dirty hack
1287 (let ((buf (cond ((erc-channel-p tgt) 1287 (let ((buf (cond ((erc-channel-p tgt)
@@ -1305,8 +1305,8 @@ add things to `%s' instead."
1305 "Handle nick change messages." nil 1305 "Handle nick change messages." nil
1306 (let ((nn (erc-response.contents parsed)) 1306 (let ((nn (erc-response.contents parsed))
1307 bufs) 1307 bufs)
1308 (multiple-value-bind (nick login host) 1308 (pcase-let ((`(,nick ,login ,host)
1309 (values-list (erc-parse-user (erc-response.sender parsed))) 1309 (erc-parse-user (erc-response.sender parsed))))
1310 (setq bufs (erc-buffer-list-with-nick nick proc)) 1310 (setq bufs (erc-buffer-list-with-nick nick proc))
1311 (erc-log (format "NICK: %s -> %s" nick nn)) 1311 (erc-log (format "NICK: %s -> %s" nick nn))
1312 ;; if we had a query with this user, make sure future messages will be 1312 ;; if we had a query with this user, make sure future messages will be
@@ -1340,11 +1340,11 @@ add things to `%s' instead."
1340 1340
1341(define-erc-response-handler (PART) 1341(define-erc-response-handler (PART)
1342 "Handle part messages." nil 1342 "Handle part messages." nil
1343 (let* ((chnl (first (erc-response.command-args parsed))) 1343 (let* ((chnl (car (erc-response.command-args parsed)))
1344 (reason (erc-trim-string (erc-response.contents parsed))) 1344 (reason (erc-trim-string (erc-response.contents parsed)))
1345 (buffer (erc-get-buffer chnl proc))) 1345 (buffer (erc-get-buffer chnl proc)))
1346 (multiple-value-bind (nick login host) 1346 (pcase-let ((`(,nick ,login ,host)
1347 (values-list (erc-parse-user (erc-response.sender parsed))) 1347 (erc-parse-user (erc-response.sender parsed))))
1348 (erc-remove-channel-member buffer nick) 1348 (erc-remove-channel-member buffer nick)
1349 (erc-display-message parsed 'notice buffer 1349 (erc-display-message parsed 'notice buffer
1350 'PART ?n nick ?u login 1350 'PART ?n nick ?u login
@@ -1361,7 +1361,7 @@ add things to `%s' instead."
1361 1361
1362(define-erc-response-handler (PING) 1362(define-erc-response-handler (PING)
1363 "Handle ping messages." nil 1363 "Handle ping messages." nil
1364 (let ((pinger (first (erc-response.command-args parsed)))) 1364 (let ((pinger (car (erc-response.command-args parsed))))
1365 (erc-log (format "PING: %s" pinger)) 1365 (erc-log (format "PING: %s" pinger))
1366 ;; ping response to the server MUST be forced, or you can lose big 1366 ;; ping response to the server MUST be forced, or you can lose big
1367 (erc-server-send (format "PONG :%s" pinger) t) 1367 (erc-server-send (format "PONG :%s" pinger) t)
@@ -1379,7 +1379,7 @@ add things to `%s' instead."
1379 (when erc-verbose-server-ping 1379 (when erc-verbose-server-ping
1380 (erc-display-message 1380 (erc-display-message
1381 parsed 'notice proc 'PONG 1381 parsed 'notice proc 'PONG
1382 ?h (first (erc-response.command-args parsed)) ?i erc-server-lag 1382 ?h (car (erc-response.command-args parsed)) ?i erc-server-lag
1383 ?s (if (/= erc-server-lag 1) "s" ""))) 1383 ?s (if (/= erc-server-lag 1) "s" "")))
1384 (erc-update-mode-line)))) 1384 (erc-update-mode-line))))
1385 1385
@@ -1451,8 +1451,8 @@ add things to `%s' instead."
1451 "Another user has quit IRC." nil 1451 "Another user has quit IRC." nil
1452 (let ((reason (erc-response.contents parsed)) 1452 (let ((reason (erc-response.contents parsed))
1453 bufs) 1453 bufs)
1454 (multiple-value-bind (nick login host) 1454 (pcase-let ((`(,nick ,login ,host)
1455 (values-list (erc-parse-user (erc-response.sender parsed))) 1455 (erc-parse-user (erc-response.sender parsed))))
1456 (setq bufs (erc-buffer-list-with-nick nick proc)) 1456 (setq bufs (erc-buffer-list-with-nick nick proc))
1457 (erc-remove-user nick) 1457 (erc-remove-user nick)
1458 (setq reason (erc-wash-quit-reason reason nick login host)) 1458 (setq reason (erc-wash-quit-reason reason nick login host))
@@ -1462,12 +1462,12 @@ add things to `%s' instead."
1462 1462
1463(define-erc-response-handler (TOPIC) 1463(define-erc-response-handler (TOPIC)
1464 "The channel topic has changed." nil 1464 "The channel topic has changed." nil
1465 (let* ((ch (first (erc-response.command-args parsed))) 1465 (let* ((ch (car (erc-response.command-args parsed)))
1466 (topic (erc-trim-string (erc-response.contents parsed))) 1466 (topic (erc-trim-string (erc-response.contents parsed)))
1467 (time (format-time-string erc-server-timestamp-format 1467 (time (format-time-string erc-server-timestamp-format
1468 (current-time)))) 1468 (current-time))))
1469 (multiple-value-bind (nick login host) 1469 (pcase-let ((`(,nick ,login ,host)
1470 (values-list (erc-parse-user (erc-response.sender parsed))) 1470 (erc-parse-user (erc-response.sender parsed))))
1471 (erc-update-channel-member ch nick nick nil nil nil host login) 1471 (erc-update-channel-member ch nick nick nil nil nil host login)
1472 (erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time)) 1472 (erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time))
1473 (erc-display-message parsed 'notice (erc-get-buffer ch proc) 1473 (erc-display-message parsed 'notice (erc-get-buffer ch proc)
@@ -1477,8 +1477,8 @@ add things to `%s' instead."
1477(define-erc-response-handler (WALLOPS) 1477(define-erc-response-handler (WALLOPS)
1478 "Display a WALLOPS message." nil 1478 "Display a WALLOPS message." nil
1479 (let ((message (erc-response.contents parsed))) 1479 (let ((message (erc-response.contents parsed)))
1480 (multiple-value-bind (nick login host) 1480 (pcase-let ((`(,nick ,login ,host)
1481 (values-list (erc-parse-user (erc-response.sender parsed))) 1481 (erc-parse-user (erc-response.sender parsed))))
1482 (erc-display-message 1482 (erc-display-message
1483 parsed 'notice nil 1483 parsed 'notice nil
1484 'WALLOPS ?n nick ?m message)))) 1484 'WALLOPS ?n nick ?m message))))
@@ -1486,7 +1486,7 @@ add things to `%s' instead."
1486(define-erc-response-handler (001) 1486(define-erc-response-handler (001)
1487 "Set `erc-server-current-nick' to reflect server settings and display the welcome message." 1487 "Set `erc-server-current-nick' to reflect server settings and display the welcome message."
1488 nil 1488 nil
1489 (erc-set-current-nick (first (erc-response.command-args parsed))) 1489 (erc-set-current-nick (car (erc-response.command-args parsed)))
1490 (erc-update-mode-line) ; needed here? 1490 (erc-update-mode-line) ; needed here?
1491 (setq erc-nick-change-attempt-count 0) 1491 (setq erc-nick-change-attempt-count 0)
1492 (setq erc-default-nicks (if (consp erc-nick) erc-nick (list erc-nick))) 1492 (setq erc-default-nicks (if (consp erc-nick) erc-nick (list erc-nick)))
@@ -1507,16 +1507,16 @@ add things to `%s' instead."
1507 1507
1508(define-erc-response-handler (004) 1508(define-erc-response-handler (004)
1509 "Display the server's identification." nil 1509 "Display the server's identification." nil
1510 (multiple-value-bind (server-name server-version) 1510 (pcase-let ((`(,server-name ,server-version)
1511 (values-list (cdr (erc-response.command-args parsed))) 1511 (cdr (erc-response.command-args parsed))))
1512 (setq erc-server-version server-version) 1512 (setq erc-server-version server-version)
1513 (setq erc-server-announced-name server-name) 1513 (setq erc-server-announced-name server-name)
1514 (erc-update-mode-line-buffer (process-buffer proc)) 1514 (erc-update-mode-line-buffer (process-buffer proc))
1515 (erc-display-message 1515 (erc-display-message
1516 parsed 'notice proc 1516 parsed 'notice proc
1517 's004 ?s server-name ?v server-version 1517 's004 ?s server-name ?v server-version
1518 ?U (fourth (erc-response.command-args parsed)) 1518 ?U (nth 3 (erc-response.command-args parsed))
1519 ?C (fifth (erc-response.command-args parsed))))) 1519 ?C (nth 4 (erc-response.command-args parsed)))))
1520 1520
1521(define-erc-response-handler (005) 1521(define-erc-response-handler (005)
1522 "Set the variable `erc-server-parameters' and display the received message. 1522 "Set the variable `erc-server-parameters' and display the received message.
@@ -1547,7 +1547,7 @@ A server may send more than one 005 message."
1547 1547
1548(define-erc-response-handler (221) 1548(define-erc-response-handler (221)
1549 "Display the current user modes." nil 1549 "Display the current user modes." nil
1550 (let* ((nick (first (erc-response.command-args parsed))) 1550 (let* ((nick (car (erc-response.command-args parsed)))
1551 (modes (mapconcat 'identity 1551 (modes (mapconcat 'identity
1552 (cdr (erc-response.command-args parsed)) " "))) 1552 (cdr (erc-response.command-args parsed)) " ")))
1553 (erc-set-modes nick modes) 1553 (erc-set-modes nick modes)
@@ -1576,8 +1576,8 @@ See `erc-display-server-message'." nil
1576 1576
1577(define-erc-response-handler (275) 1577(define-erc-response-handler (275)
1578 "Display secure connection message." nil 1578 "Display secure connection message." nil
1579 (multiple-value-bind (nick user message) 1579 (pcase-let ((`(,nick ,user ,message)
1580 (values-list (cdr (erc-response.command-args parsed))) 1580 (cdr (erc-response.command-args parsed))))
1581 (erc-display-message 1581 (erc-display-message
1582 parsed 'notice 'active 's275 1582 parsed 'notice 'active 's275
1583 ?n nick 1583 ?n nick
@@ -1612,8 +1612,8 @@ See `erc-display-server-message'." nil
1612 1612
1613(define-erc-response-handler (307) 1613(define-erc-response-handler (307)
1614 "Display nick-identified message." nil 1614 "Display nick-identified message." nil
1615 (multiple-value-bind (nick user message) 1615 (pcase-let ((`(,nick ,user ,message)
1616 (values-list (cdr (erc-response.command-args parsed))) 1616 (cdr (erc-response.command-args parsed))))
1617 (erc-display-message 1617 (erc-display-message
1618 parsed 'notice 'active 's307 1618 parsed 'notice 'active 's307
1619 ?n nick 1619 ?n nick
@@ -1624,8 +1624,8 @@ See `erc-display-server-message'." nil
1624 "WHOIS/WHOWAS notices." nil 1624 "WHOIS/WHOWAS notices." nil
1625 (let ((fname (erc-response.contents parsed)) 1625 (let ((fname (erc-response.contents parsed))
1626 (catalog-entry (intern (format "s%s" (erc-response.command parsed))))) 1626 (catalog-entry (intern (format "s%s" (erc-response.command parsed)))))
1627 (multiple-value-bind (nick user host) 1627 (pcase-let ((`(,nick ,user ,host)
1628 (values-list (cdr (erc-response.command-args parsed))) 1628 (cdr (erc-response.command-args parsed))))
1629 (erc-update-user-nick nick nick host nil fname user) 1629 (erc-update-user-nick nick nick host nil fname user)
1630 (erc-display-message 1630 (erc-display-message
1631 parsed 'notice 'active catalog-entry 1631 parsed 'notice 'active catalog-entry
@@ -1633,8 +1633,8 @@ See `erc-display-server-message'." nil
1633 1633
1634(define-erc-response-handler (312) 1634(define-erc-response-handler (312)
1635 "Server name response in WHOIS." nil 1635 "Server name response in WHOIS." nil
1636 (multiple-value-bind (nick server-host) 1636 (pcase-let ((`(,nick ,server-host))
1637 (values-list (cdr (erc-response.command-args parsed))) 1637 (cdr (erc-response.command-args parsed)))
1638 (erc-display-message 1638 (erc-display-message
1639 parsed 'notice 'active 's312 1639 parsed 'notice 'active 's312
1640 ?n nick ?s server-host ?c (erc-response.contents parsed)))) 1640 ?n nick ?s server-host ?c (erc-response.contents parsed))))
@@ -1655,8 +1655,8 @@ See `erc-display-server-message'." nil
1655 1655
1656(define-erc-response-handler (317) 1656(define-erc-response-handler (317)
1657 "IDLE notice." nil 1657 "IDLE notice." nil
1658 (multiple-value-bind (nick seconds-idle on-since time) 1658 (pcase-let ((`(,nick ,seconds-idle ,on-since ,time)
1659 (values-list (cdr (erc-response.command-args parsed))) 1659 (cdr (erc-response.command-args parsed))))
1660 (setq time (when on-since 1660 (setq time (when on-since
1661 (format-time-string erc-server-timestamp-format 1661 (format-time-string erc-server-timestamp-format
1662 (erc-string-to-emacs-time on-since)))) 1662 (erc-string-to-emacs-time on-since))))
@@ -1696,16 +1696,16 @@ See `erc-display-server-message'." nil
1696(define-erc-response-handler (322) 1696(define-erc-response-handler (322)
1697 "LIST notice." nil 1697 "LIST notice." nil
1698 (let ((topic (erc-response.contents parsed))) 1698 (let ((topic (erc-response.contents parsed)))
1699 (multiple-value-bind (channel num-users) 1699 (pcase-let ((`(,channel ,num-users)
1700 (values-list (cdr (erc-response.command-args parsed))) 1700 (cdr (erc-response.command-args parsed))))
1701 (add-to-list 'erc-channel-list (list channel)) 1701 (add-to-list 'erc-channel-list (list channel))
1702 (erc-update-channel-topic channel topic)))) 1702 (erc-update-channel-topic channel topic))))
1703 1703
1704(defun erc-server-322-message (proc parsed) 1704(defun erc-server-322-message (proc parsed)
1705 "Display a message for the 322 event." 1705 "Display a message for the 322 event."
1706 (let ((topic (erc-response.contents parsed))) 1706 (let ((topic (erc-response.contents parsed)))
1707 (multiple-value-bind (channel num-users) 1707 (pcase-let ((`(,channel ,num-users)
1708 (values-list (cdr (erc-response.command-args parsed))) 1708 (cdr (erc-response.command-args parsed))))
1709 (erc-display-message 1709 (erc-display-message
1710 parsed 'notice proc 's322 1710 parsed 'notice proc 's322
1711 ?c channel ?u num-users ?t (or topic ""))))) 1711 ?c channel ?u num-users ?t (or topic "")))))
@@ -1732,7 +1732,7 @@ See `erc-display-server-message'." nil
1732 "Channel creation date." nil 1732 "Channel creation date." nil
1733 (let ((channel (second (erc-response.command-args parsed))) 1733 (let ((channel (second (erc-response.command-args parsed)))
1734 (time (erc-string-to-emacs-time 1734 (time (erc-string-to-emacs-time
1735 (third (erc-response.command-args parsed))))) 1735 (nth 2 (erc-response.command-args parsed)))))
1736 (erc-display-message 1736 (erc-display-message
1737 parsed 'notice (erc-get-buffer channel proc) 1737 parsed 'notice (erc-get-buffer channel proc)
1738 's329 ?c channel ?t (format-time-string erc-server-timestamp-format 1738 's329 ?c channel ?t (format-time-string erc-server-timestamp-format
@@ -1749,7 +1749,7 @@ See `erc-display-server-message'." nil
1749 ;; authmsg == (aref parsed 5) 1749 ;; authmsg == (aref parsed 5)
1750 ;; The guesses below are, well, just that. -- Lawrence 2004/05/10 1750 ;; The guesses below are, well, just that. -- Lawrence 2004/05/10
1751 (let ((nick (second (erc-response.command-args parsed))) 1751 (let ((nick (second (erc-response.command-args parsed)))
1752 (authaccount (third (erc-response.command-args parsed))) 1752 (authaccount (nth 2 (erc-response.command-args parsed)))
1753 (authmsg (erc-response.contents parsed))) 1753 (authmsg (erc-response.contents parsed)))
1754 (erc-display-message parsed 'notice 'active 's330 1754 (erc-display-message parsed 'notice 'active 's330
1755 ?n nick ?a authmsg ?i authaccount))) 1755 ?n nick ?a authmsg ?i authaccount)))
@@ -1771,8 +1771,8 @@ See `erc-display-server-message'." nil
1771 1771
1772(define-erc-response-handler (333) 1772(define-erc-response-handler (333)
1773 "Who set the topic, and when." nil 1773 "Who set the topic, and when." nil
1774 (multiple-value-bind (channel nick time) 1774 (pcase-let ((`(,channel ,nick ,time)
1775 (values-list (cdr (erc-response.command-args parsed))) 1775 (cdr (erc-response.command-args parsed))))
1776 (setq time (format-time-string erc-server-timestamp-format 1776 (setq time (format-time-string erc-server-timestamp-format
1777 (erc-string-to-emacs-time time))) 1777 (erc-string-to-emacs-time time)))
1778 (erc-update-channel-topic channel 1778 (erc-update-channel-topic channel
@@ -1784,15 +1784,15 @@ See `erc-display-server-message'." nil
1784(define-erc-response-handler (341) 1784(define-erc-response-handler (341)
1785 "Let user know when an INVITE attempt has been sent successfully." 1785 "Let user know when an INVITE attempt has been sent successfully."
1786 nil 1786 nil
1787 (multiple-value-bind (nick channel) 1787 (pcase-let ((`(,nick ,channel)
1788 (values-list (cdr (erc-response.command-args parsed))) 1788 (cdr (erc-response.command-args parsed))))
1789 (erc-display-message parsed 'notice (erc-get-buffer channel proc) 1789 (erc-display-message parsed 'notice (erc-get-buffer channel proc)
1790 's341 ?n nick ?c channel))) 1790 's341 ?n nick ?c channel)))
1791 1791
1792(define-erc-response-handler (352) 1792(define-erc-response-handler (352)
1793 "WHO notice." nil 1793 "WHO notice." nil
1794 (multiple-value-bind (channel user host server nick away-flag) 1794 (pcase-let ((`(,channel ,user ,host ,server ,nick ,away-flag)
1795 (values-list (cdr (erc-response.command-args parsed))) 1795 (cdr (erc-response.command-args parsed))))
1796 (let ((full-name (erc-response.contents parsed)) 1796 (let ((full-name (erc-response.contents parsed))
1797 hopcount) 1797 hopcount)
1798 (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name) 1798 (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name)
@@ -1806,7 +1806,7 @@ See `erc-display-server-message'." nil
1806 1806
1807(define-erc-response-handler (353) 1807(define-erc-response-handler (353)
1808 "NAMES notice." nil 1808 "NAMES notice." nil
1809 (let ((channel (third (erc-response.command-args parsed))) 1809 (let ((channel (nth 2 (erc-response.command-args parsed)))
1810 (users (erc-response.contents parsed))) 1810 (users (erc-response.contents parsed)))
1811 (erc-display-message parsed 'notice (or (erc-get-buffer channel proc) 1811 (erc-display-message parsed 'notice (or (erc-get-buffer channel proc)
1812 'active) 1812 'active)
@@ -1821,8 +1821,8 @@ See `erc-display-server-message'." nil
1821 1821
1822(define-erc-response-handler (367) 1822(define-erc-response-handler (367)
1823 "Channel ban list entries." nil 1823 "Channel ban list entries." nil
1824 (multiple-value-bind (channel banmask setter time) 1824 (pcase-let ((`(,channel ,banmask ,setter ,time)
1825 (values-list (cdr (erc-response.command-args parsed))) 1825 (cdr (erc-response.command-args parsed))))
1826 ;; setter and time are not standard 1826 ;; setter and time are not standard
1827 (if setter 1827 (if setter
1828 (erc-display-message parsed 'notice 'active 's367-set-by 1828 (erc-display-message parsed 'notice 'active 's367-set-by
@@ -1845,8 +1845,8 @@ See `erc-display-server-message'." nil
1845 ;; FIXME: Yet more magic numbers in original code, I'm guessing this 1845 ;; FIXME: Yet more magic numbers in original code, I'm guessing this
1846 ;; command takes two arguments, and doesn't have any "contents". -- 1846 ;; command takes two arguments, and doesn't have any "contents". --
1847 ;; Lawrence 2004/05/10 1847 ;; Lawrence 2004/05/10
1848 (multiple-value-bind (from to) 1848 (pcase-let ((`(,from ,to)
1849 (values-list (cdr (erc-response.command-args parsed))) 1849 (cdr (erc-response.command-args parsed))))
1850 (erc-display-message parsed 'notice 'active 1850 (erc-display-message parsed 'notice 'active
1851 's379 ?c from ?f to))) 1851 's379 ?c from ?f to)))
1852 1852
@@ -1855,7 +1855,7 @@ See `erc-display-server-message'." nil
1855 (erc-display-message 1855 (erc-display-message
1856 parsed 'notice 'active 1856 parsed 'notice 'active
1857 's391 ?s (second (erc-response.command-args parsed)) 1857 's391 ?s (second (erc-response.command-args parsed))
1858 ?t (third (erc-response.command-args parsed)))) 1858 ?t (nth 2 (erc-response.command-args parsed))))
1859 1859
1860(define-erc-response-handler (401) 1860(define-erc-response-handler (401)
1861 "No such nick/channel." nil 1861 "No such nick/channel." nil
diff --git a/lisp/erc/erc-capab.el b/lisp/erc/erc-capab.el
index 08b9c67f6c0..e8201f2ea43 100644
--- a/lisp/erc/erc-capab.el
+++ b/lisp/erc/erc-capab.el
@@ -68,7 +68,6 @@
68;;; Code: 68;;; Code:
69 69
70(require 'erc) 70(require 'erc)
71(eval-when-compile (require 'cl))
72 71
73;;; Customization: 72;;; Customization:
74 73
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el
index ed8440315eb..e31416f0e1a 100644
--- a/lisp/erc/erc-dcc.el
+++ b/lisp/erc/erc-dcc.el
@@ -54,9 +54,7 @@
54;;; Code: 54;;; Code:
55 55
56(require 'erc) 56(require 'erc)
57(eval-when-compile 57(eval-when-compile (require 'pcomplete))
58 (require 'cl)
59 (require 'pcomplete))
60 58
61;;;###autoload (autoload 'erc-dcc-mode "erc-dcc") 59;;;###autoload (autoload 'erc-dcc-mode "erc-dcc")
62(define-erc-module dcc nil 60(define-erc-module dcc nil
@@ -277,7 +275,7 @@ Argument IP is the address as a string. The result is also a string."
277 (* (nth 1 ips) 65536.0) 275 (* (nth 1 ips) 65536.0)
278 (* (nth 2 ips) 256.0) 276 (* (nth 2 ips) 256.0)
279 (nth 3 ips)))) 277 (nth 3 ips))))
280 (if (interactive-p) 278 (if (called-interactively-p 'interactive)
281 (message "%s is %.0f" ip res) 279 (message "%s is %.0f" ip res)
282 (format "%.0f" res))))) 280 (format "%.0f" res)))))
283 281
@@ -380,8 +378,8 @@ created subprocess, or nil."
380 (with-no-warnings ; obsolete since 23.1 378 (with-no-warnings ; obsolete since 23.1
381 (set-process-filter-multibyte process nil))))) 379 (set-process-filter-multibyte process nil)))))
382 (file-error 380 (file-error
383 (unless (and (string= "Cannot bind server socket" (cadr err)) 381 (unless (and (string= "Cannot bind server socket" (nth 1 err))
384 (string= "address already in use" (caddr err))) 382 (string= "address already in use" (nth 2 err)))
385 (signal (car err) (cdr err))) 383 (signal (car err) (cdr err)))
386 (setq port (1+ port)) 384 (setq port (1+ port))
387 (unless (< port upper) 385 (unless (< port upper)
@@ -434,38 +432,38 @@ where FOO is one of CLOSE, GET, SEND, LIST, CHAT, etc."
434 (pcomplete-here (append '("chat" "close" "get" "list") 432 (pcomplete-here (append '("chat" "close" "get" "list")
435 (when (fboundp 'make-network-process) '("send")))) 433 (when (fboundp 'make-network-process) '("send"))))
436 (pcomplete-here 434 (pcomplete-here
437 (case (intern (downcase (pcomplete-arg 1))) 435 (pcase (intern (downcase (pcomplete-arg 1)))
438 (chat (mapcar (lambda (elt) (plist-get elt :nick)) 436 (`chat (mapcar (lambda (elt) (plist-get elt :nick))
437 (erc-remove-if-not
438 #'(lambda (elt)
439 (eq (plist-get elt :type) 'CHAT))
440 erc-dcc-list)))
441 (`close (erc-delete-dups
442 (mapcar (lambda (elt) (symbol-name (plist-get elt :type)))
443 erc-dcc-list)))
444 (`get (mapcar #'erc-dcc-nick
439 (erc-remove-if-not 445 (erc-remove-if-not
440 #'(lambda (elt) 446 #'(lambda (elt)
441 (eq (plist-get elt :type) 'CHAT)) 447 (eq (plist-get elt :type) 'GET))
442 erc-dcc-list))) 448 erc-dcc-list)))
443 (close (erc-delete-dups 449 (`send (pcomplete-erc-all-nicks))))
444 (mapcar (lambda (elt) (symbol-name (plist-get elt :type)))
445 erc-dcc-list)))
446 (get (mapcar #'erc-dcc-nick
447 (erc-remove-if-not
448 #'(lambda (elt)
449 (eq (plist-get elt :type) 'GET))
450 erc-dcc-list)))
451 (send (pcomplete-erc-all-nicks))))
452 (pcomplete-here 450 (pcomplete-here
453 (case (intern (downcase (pcomplete-arg 2))) 451 (pcase (intern (downcase (pcomplete-arg 2)))
454 (get (mapcar (lambda (elt) (plist-get elt :file)) 452 (`get (mapcar (lambda (elt) (plist-get elt :file))
455 (erc-remove-if-not 453 (erc-remove-if-not
456 #'(lambda (elt) 454 #'(lambda (elt)
457 (and (eq (plist-get elt :type) 'GET) 455 (and (eq (plist-get elt :type) 'GET)
458 (erc-nick-equal-p (erc-extract-nick 456 (erc-nick-equal-p (erc-extract-nick
459 (plist-get elt :nick)) 457 (plist-get elt :nick))
460 (pcomplete-arg 1)))) 458 (pcomplete-arg 1))))
461 erc-dcc-list))) 459 erc-dcc-list)))
462 (close (mapcar #'erc-dcc-nick 460 (`close (mapcar #'erc-dcc-nick
463 (erc-remove-if-not 461 (erc-remove-if-not
464 #'(lambda (elt) 462 #'(lambda (elt)
465 (eq (plist-get elt :type) 463 (eq (plist-get elt :type)
466 (intern (upcase (pcomplete-arg 1))))) 464 (intern (upcase (pcomplete-arg 1)))))
467 erc-dcc-list))) 465 erc-dcc-list)))
468 (send (pcomplete-entries))))) 466 (`send (pcomplete-entries)))))
469 467
470(defun erc-dcc-do-CHAT-command (proc &optional nick) 468(defun erc-dcc-do-CHAT-command (proc &optional nick)
471 (when nick 469 (when nick
@@ -1248,7 +1246,7 @@ other client."
1248 1246
1249(defun erc-dcc-no-such-nick (proc parsed) 1247(defun erc-dcc-no-such-nick (proc parsed)
1250 "Detect and handle no-such-nick replies from the IRC server." 1248 "Detect and handle no-such-nick replies from the IRC server."
1251 (let* ((elt (erc-dcc-member :nick (second (erc-response.command-args parsed)) 1249 (let* ((elt (erc-dcc-member :nick (nth 1 (erc-response.command-args parsed))
1252 :parent proc)) 1250 :parent proc))
1253 (peer (plist-get elt :peer))) 1251 (peer (plist-get elt :peer)))
1254 (when (or (and (processp peer) (not (eq (process-status peer) 'open))) 1252 (when (or (and (processp peer) (not (eq (process-status peer) 'open)))
diff --git a/lisp/erc/erc-ezbounce.el b/lisp/erc/erc-ezbounce.el
index 5e5d6c2c188..6bcc17e4bc0 100644
--- a/lisp/erc/erc-ezbounce.el
+++ b/lisp/erc/erc-ezbounce.el
@@ -26,7 +26,6 @@
26;;; Code: 26;;; Code:
27 27
28(require 'erc) 28(require 'erc)
29(eval-when-compile (require 'cl))
30 29
31(defgroup erc-ezbounce nil 30(defgroup erc-ezbounce nil
32 "Interface to the EZBounce IRC bouncer (a virtual IRC server)" 31 "Interface to the EZBounce IRC bouncer (a virtual IRC server)"
diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el
index ac6b311a0c4..e285cfb4ec5 100644
--- a/lisp/erc/erc-join.el
+++ b/lisp/erc/erc-join.el
@@ -34,7 +34,6 @@
34 34
35(require 'erc) 35(require 'erc)
36(require 'auth-source) 36(require 'auth-source)
37(eval-when-compile (require 'cl))
38 37
39(defgroup erc-autojoin nil 38(defgroup erc-autojoin nil
40 "Enable autojoining." 39 "Enable autojoining."
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index b3f3f5865a1..1ff2951e09e 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -93,9 +93,7 @@
93;;; Code: 93;;; Code:
94 94
95(require 'erc) 95(require 'erc)
96(eval-when-compile 96(eval-when-compile (require 'erc-networks))
97 (require 'erc-networks)
98 (require 'cl))
99 97
100(defgroup erc-log nil 98(defgroup erc-log nil
101 "Logging facilities for ERC." 99 "Logging facilities for ERC."
@@ -429,7 +427,8 @@ You can save every individual message by putting this function on
429 file t 'nomessage)))) 427 file t 'nomessage))))
430 (let ((coding-system-for-write coding-system)) 428 (let ((coding-system-for-write coding-system))
431 (write-region start end file t 'nomessage)))) 429 (write-region start end file t 'nomessage))))
432 (if (and erc-truncate-buffer-on-save (interactive-p)) 430 (if (and erc-truncate-buffer-on-save
431 (called-interactively-p 'interactive))
433 (progn 432 (progn
434 (let ((inhibit-read-only t)) (erase-buffer)) 433 (let ((inhibit-read-only t)) (erase-buffer))
435 (move-marker erc-last-saved-position (point-max)) 434 (move-marker erc-last-saved-position (point-max))
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el
index 8dcdcb9e2e6..f1219427360 100644
--- a/lisp/erc/erc-match.el
+++ b/lisp/erc/erc-match.el
@@ -35,7 +35,6 @@
35;;; Code: 35;;; Code:
36 36
37(require 'erc) 37(require 'erc)
38(eval-when-compile (require 'cl))
39 38
40;; Customization: 39;; Customization:
41 40
diff --git a/lisp/erc/erc-netsplit.el b/lisp/erc/erc-netsplit.el
index fc4aeb10c84..cbaf62b1a61 100644
--- a/lisp/erc/erc-netsplit.el
+++ b/lisp/erc/erc-netsplit.el
@@ -31,7 +31,6 @@
31;;; Code: 31;;; Code:
32 32
33(require 'erc) 33(require 'erc)
34(eval-when-compile (require 'cl))
35 34
36(defgroup erc-netsplit nil 35(defgroup erc-netsplit nil
37 "Netsplit detection tries to automatically figure when a 36 "Netsplit detection tries to automatically figure when a
@@ -107,7 +106,7 @@ join from that split has been detected or not.")
107 (dolist (elt erc-netsplit-list) 106 (dolist (elt erc-netsplit-list)
108 (if (member nick (nthcdr 3 elt)) 107 (if (member nick (nthcdr 3 elt))
109 (progn 108 (progn
110 (if (not (caddr elt)) 109 (if (not (nth 2 elt))
111 (progn 110 (progn
112 (erc-display-message 111 (erc-display-message
113 parsed 'notice (process-buffer proc) 112 parsed 'notice (process-buffer proc)
@@ -149,7 +148,7 @@ join from that split has been detected or not.")
149 ;; element for this netsplit exists already 148 ;; element for this netsplit exists already
150 (progn 149 (progn
151 (setcdr (nthcdr 2 ass) (cons nick (nthcdr 3 ass))) 150 (setcdr (nthcdr 2 ass) (cons nick (nthcdr 3 ass)))
152 (when (caddr ass) 151 (when (nth 2 ass)
153 ;; There was already a netjoin for this netsplit, it 152 ;; There was already a netjoin for this netsplit, it
154 ;; seems like the old one didn't get finished... 153 ;; seems like the old one didn't get finished...
155 (erc-display-message 154 (erc-display-message
@@ -194,7 +193,7 @@ join from that split has been detected or not.")
194 nil 'notice 'active 193 nil 'notice 'active
195 'netsplit-wholeft ?s (car elt) 194 'netsplit-wholeft ?s (car elt)
196 ?n (mapconcat 'erc-extract-nick (nthcdr 3 elt) " ") 195 ?n (mapconcat 'erc-extract-nick (nthcdr 3 elt) " ")
197 ?t (if (caddr elt) 196 ?t (if (nth 2 elt)
198 "(joining)" 197 "(joining)"
199 ""))))) 198 "")))))
200 t) 199 t)
diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el
index 89372555ccc..5089ff6b4ba 100644
--- a/lisp/erc/erc-networks.el
+++ b/lisp/erc/erc-networks.el
@@ -40,7 +40,7 @@
40;;; Code: 40;;; Code:
41 41
42(require 'erc) 42(require 'erc)
43(eval-when-compile (require 'cl)) 43(eval-when-compile (require 'cl-lib))
44 44
45;; Variables 45;; Variables
46 46
@@ -729,10 +729,10 @@ search for a match in `erc-networks-alist'."
729 (or 729 (or
730 ;; Loop through `erc-networks-alist' looking for a match. 730 ;; Loop through `erc-networks-alist' looking for a match.
731 (let ((server (or erc-server-announced-name erc-session-server))) 731 (let ((server (or erc-server-announced-name erc-session-server)))
732 (loop for (name matcher) in erc-networks-alist 732 (cl-loop for (name matcher) in erc-networks-alist
733 when (and matcher 733 when (and matcher
734 (string-match (concat matcher "\\'") server)) 734 (string-match (concat matcher "\\'") server))
735 do (return name))) 735 do (cl-return name)))
736 'Unknown))) 736 'Unknown)))
737 737
738(defun erc-network () 738(defun erc-network ()
@@ -789,8 +789,8 @@ As an example:
789 (cond ((numberp p) 789 (cond ((numberp p)
790 (push p result)) 790 (push p result))
791 ((listp p) 791 ((listp p)
792 (setq result (nconc (loop for i from (cadr p) downto (car p) 792 (setq result (nconc (cl-loop for i from (cadr p) downto (car p)
793 collect i) 793 collect i)
794 result))))) 794 result)))))
795 (nreverse result))) 795 (nreverse result)))
796 796
diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el
index 0b5e99180d6..b9d7ff78cd8 100644
--- a/lisp/erc/erc-notify.el
+++ b/lisp/erc/erc-notify.el
@@ -30,9 +30,7 @@
30 30
31(require 'erc) 31(require 'erc)
32(require 'erc-networks) 32(require 'erc-networks)
33(eval-when-compile 33(eval-when-compile (require 'pcomplete))
34 (require 'cl)
35 (require 'pcomplete))
36 34
37;;;; Customizable variables 35;;;; Customizable variables
38 36
diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el
index bb30fd90066..d6bb8019b15 100644
--- a/lisp/erc/erc-pcomplete.el
+++ b/lisp/erc/erc-pcomplete.el
@@ -43,7 +43,6 @@
43(require 'erc) 43(require 'erc)
44(require 'erc-compat) 44(require 'erc-compat)
45(require 'time-date) 45(require 'time-date)
46(eval-when-compile (require 'cl))
47 46
48(defgroup erc-pcomplete nil 47(defgroup erc-pcomplete nil
49 "Programmable completion for ERC" 48 "Programmable completion for ERC"
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el
index b3b80a5f851..b75ad8e9517 100644
--- a/lisp/erc/erc-services.el
+++ b/lisp/erc/erc-services.el
@@ -62,7 +62,7 @@
62 62
63(require 'erc) 63(require 'erc)
64(require 'erc-networks) 64(require 'erc-networks)
65(eval-when-compile (require 'cl)) 65(eval-when-compile (require 'cl-lib))
66 66
67;; Customization: 67;; Customization:
68 68
diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el
index 4b98cf173be..22053945159 100644
--- a/lisp/erc/erc-speedbar.el
+++ b/lisp/erc/erc-speedbar.el
@@ -38,7 +38,6 @@
38(require 'erc) 38(require 'erc)
39(require 'speedbar) 39(require 'speedbar)
40(condition-case nil (require 'dframe) (error nil)) 40(condition-case nil (require 'dframe) (error nil))
41(eval-when-compile (require 'cl))
42 41
43;;; Customization: 42;;; Customization:
44 43
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index a204584b400..976d2a21030 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -34,7 +34,7 @@
34;; * Add extensibility so that custom functions can track 34;; * Add extensibility so that custom functions can track
35;; custom modification types. 35;; custom modification types.
36 36
37(eval-when-compile (require 'cl)) 37(eval-when-compile (require 'cl-lib))
38(require 'erc) 38(require 'erc)
39(require 'erc-compat) 39(require 'erc-compat)
40(require 'erc-match) 40(require 'erc-match)
@@ -484,7 +484,7 @@ START is the minimum length of the name used."
484 484
485;;; Test: 485;;; Test:
486 486
487(assert 487(cl-assert
488 (and 488 (and
489 ;; verify examples from the doc strings 489 ;; verify examples from the doc strings
490 (equal (let ((erc-track-shorten-aggressively nil)) 490 (equal (let ((erc-track-shorten-aggressively nil))
@@ -869,7 +869,7 @@ Use `erc-make-mode-line-buffer-name' to create buttons."
869 (setq erc-modified-channels-alist 869 (setq erc-modified-channels-alist
870 (delete (assq buffer erc-modified-channels-alist) 870 (delete (assq buffer erc-modified-channels-alist)
871 erc-modified-channels-alist)) 871 erc-modified-channels-alist))
872 (when (interactive-p) 872 (when (called-interactively-p 'interactive)
873 (erc-modified-channels-display))) 873 (erc-modified-channels-display)))
874 874
875(defun erc-track-find-face (faces) 875(defun erc-track-find-face (faces)
@@ -980,7 +980,7 @@ is in `erc-mode'."
980 (add-to-list 'faces cur))) 980 (add-to-list 'faces cur)))
981 faces)) 981 faces))
982 982
983(assert 983(cl-assert
984 (let ((str "is bold")) 984 (let ((str "is bold"))
985 (put-text-property 3 (length str) 985 (put-text-property 3 (length str)
986 'face '(bold erc-current-nick-face) 986 'face '(bold erc-current-nick-face)
@@ -1030,17 +1030,17 @@ relative to `erc-track-switch-direction'"
1030 (let ((dir erc-track-switch-direction) 1030 (let ((dir erc-track-switch-direction)
1031 offset) 1031 offset)
1032 (when (< arg 0) 1032 (when (< arg 0)
1033 (setq dir (case dir 1033 (setq dir (pcase dir
1034 (oldest 'newest) 1034 (`oldest 'newest)
1035 (newest 'oldest) 1035 (`newest 'oldest)
1036 (mostactive 'leastactive) 1036 (`mostactive 'leastactive)
1037 (leastactive 'mostactive) 1037 (`leastactive 'mostactive)
1038 (importance 'oldest))) 1038 (`importance 'oldest)))
1039 (setq arg (- arg))) 1039 (setq arg (- arg)))
1040 (setq offset (case dir 1040 (setq offset (pcase dir
1041 ((oldest leastactive) 1041 ((or `oldest `leastactive)
1042 (- (length erc-modified-channels-alist) arg)) 1042 (- (length erc-modified-channels-alist) arg))
1043 (t (1- arg)))) 1043 (_ (1- arg))))
1044 ;; normalize out of range user input 1044 ;; normalize out of range user input
1045 (cond ((>= offset (length erc-modified-channels-alist)) 1045 (cond ((>= offset (length erc-modified-channels-alist))
1046 (setq offset (1- (length erc-modified-channels-alist)))) 1046 (setq offset (1- (length erc-modified-channels-alist))))
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 7cb6fbb595b..cec9718e751 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -67,7 +67,7 @@
67(defconst erc-version-string "Version 5.3" 67(defconst erc-version-string "Version 5.3"
68 "ERC version. This is used by function `erc-version'.") 68 "ERC version. This is used by function `erc-version'.")
69 69
70(eval-when-compile (require 'cl)) 70(eval-when-compile (require 'cl-lib))
71(require 'font-lock) 71(require 'font-lock)
72(require 'pp) 72(require 'pp)
73(require 'thingatpt) 73(require 'thingatpt)
@@ -369,7 +369,7 @@ If no server buffer exists, return nil."
369 (with-current-buffer ,buffer 369 (with-current-buffer ,buffer
370 ,@body))))) 370 ,@body)))))
371 371
372(defstruct (erc-server-user (:type vector) :named) 372(cl-defstruct (erc-server-user (:type vector) :named)
373 ;; User data 373 ;; User data
374 nickname host login full-name info 374 nickname host login full-name info
375 ;; Buffers 375 ;; Buffers
@@ -379,7 +379,7 @@ If no server buffer exists, return nil."
379 (buffers nil) 379 (buffers nil)
380 ) 380 )
381 381
382(defstruct (erc-channel-user (:type vector) :named) 382(cl-defstruct (erc-channel-user (:type vector) :named)
383 op voice 383 op voice
384 ;; Last message time (in the form of the return value of 384 ;; Last message time (in the form of the return value of
385 ;; (current-time) 385 ;; (current-time)
@@ -1386,7 +1386,7 @@ If BUFFER is nil, the current buffer is used."
1386 t)) 1386 t))
1387 (erc-server-send (format "ISON %s" nick)) 1387 (erc-server-send (format "ISON %s" nick))
1388 (while (eq erc-online-p 'unknown) (accept-process-output)) 1388 (while (eq erc-online-p 'unknown) (accept-process-output))
1389 (if (interactive-p) 1389 (if (called-interactively-p 'interactive)
1390 (message "%s is %sonline" 1390 (message "%s is %sonline"
1391 (or erc-online-p nick) 1391 (or erc-online-p nick)
1392 (if erc-online-p "" "not ")) 1392 (if erc-online-p "" "not "))
@@ -2157,11 +2157,11 @@ functions in here get called with the parameters SERVER and NICK."
2157 (list :server server :port port :nick nick :password passwd))) 2157 (list :server server :port port :nick nick :password passwd)))
2158 2158
2159;;;###autoload 2159;;;###autoload
2160(defun* erc (&key (server (erc-compute-server)) 2160(cl-defun erc (&key (server (erc-compute-server))
2161 (port (erc-compute-port)) 2161 (port (erc-compute-port))
2162 (nick (erc-compute-nick)) 2162 (nick (erc-compute-nick))
2163 password 2163 password
2164 (full-name (erc-compute-full-name))) 2164 (full-name (erc-compute-full-name)))
2165 "ERC is a powerful, modular, and extensible IRC client. 2165 "ERC is a powerful, modular, and extensible IRC client.
2166This function is the main entry point for ERC. 2166This function is the main entry point for ERC.
2167 2167
@@ -2383,24 +2383,24 @@ If STRING is nil, the function does nothing."
2383 (while list 2383 (while list
2384 (setq elt (car list)) 2384 (setq elt (car list))
2385 (cond ((integerp elt) ; POSITION 2385 (cond ((integerp elt) ; POSITION
2386 (incf (car list) shift)) 2386 (cl-incf (car list) shift))
2387 ((or (atom elt) ; nil, EXTENT 2387 ((or (atom elt) ; nil, EXTENT
2388 ;; (eq t (car elt)) ; (t . TIME) 2388 ;; (eq t (car elt)) ; (t . TIME)
2389 (markerp (car elt))) ; (MARKER . DISTANCE) 2389 (markerp (car elt))) ; (MARKER . DISTANCE)
2390 nil) 2390 nil)
2391 ((integerp (car elt)) ; (BEGIN . END) 2391 ((integerp (car elt)) ; (BEGIN . END)
2392 (incf (car elt) shift) 2392 (cl-incf (car elt) shift)
2393 (incf (cdr elt) shift)) 2393 (cl-incf (cdr elt) shift))
2394 ((stringp (car elt)) ; (TEXT . POSITION) 2394 ((stringp (car elt)) ; (TEXT . POSITION)
2395 (incf (cdr elt) (* (if (natnump (cdr elt)) 1 -1) shift))) 2395 (cl-incf (cdr elt) (* (if (natnump (cdr elt)) 1 -1) shift)))
2396 ((null (car elt)) ; (nil PROPERTY VALUE BEG . END) 2396 ((null (car elt)) ; (nil PROPERTY VALUE BEG . END)
2397 (let ((cons (nthcdr 3 elt))) 2397 (let ((cons (nthcdr 3 elt)))
2398 (incf (car cons) shift) 2398 (cl-incf (car cons) shift)
2399 (incf (cdr cons) shift))) 2399 (cl-incf (cdr cons) shift)))
2400 ((and (featurep 'xemacs) 2400 ((and (featurep 'xemacs)
2401 (extentp (car elt))) ; (EXTENT START END) 2401 (extentp (car elt))) ; (EXTENT START END)
2402 (incf (nth 1 elt) shift) 2402 (cl-incf (nth 1 elt) shift)
2403 (incf (nth 2 elt) shift))) 2403 (cl-incf (nth 2 elt) shift)))
2404 (setq list (cdr list)))))) 2404 (setq list (cdr list))))))
2405 2405
2406(defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*" 2406(defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*"
@@ -2477,6 +2477,13 @@ purposes."
2477 :group 'erc-lurker 2477 :group 'erc-lurker
2478 :type 'boolean) 2478 :type 'boolean)
2479 2479
2480(defcustom erc-lurker-ignore-chars "`_"
2481 "Characters at the end of a nick to strip for activity tracking purposes.
2482
2483See also `erc-lurker-trim-nicks'."
2484 :group 'erc-lurker
2485 :type 'string)
2486
2480(defun erc-lurker-maybe-trim (nick) 2487(defun erc-lurker-maybe-trim (nick)
2481 "Maybe trim trailing `erc-lurker-ignore-chars' from NICK. 2488 "Maybe trim trailing `erc-lurker-ignore-chars' from NICK.
2482 2489
@@ -2491,13 +2498,6 @@ non-nil."
2491 "" nick) 2498 "" nick)
2492 nick)) 2499 nick))
2493 2500
2494(defcustom erc-lurker-ignore-chars "`_"
2495 "Characters at the end of a nick to strip for activity tracking purposes.
2496
2497See also `erc-lurker-trim-nicks'."
2498 :group 'erc-lurker
2499 :type 'string)
2500
2501(defcustom erc-lurker-hide-list nil 2501(defcustom erc-lurker-hide-list nil
2502 "List of IRC type messages to hide when sent by lurkers. 2502 "List of IRC type messages to hide when sent by lurkers.
2503 2503
@@ -2580,7 +2580,8 @@ updates of `erc-lurker-state'."
2580 (server 2580 (server
2581 (erc-canonicalize-server-name erc-server-announced-name))) 2581 (erc-canonicalize-server-name erc-server-announced-name)))
2582 (when (equal command "PRIVMSG") 2582 (when (equal command "PRIVMSG")
2583 (when (>= (incf erc-lurker-cleanup-count) erc-lurker-cleanup-interval) 2583 (when (>= (cl-incf erc-lurker-cleanup-count)
2584 erc-lurker-cleanup-interval)
2584 (setq erc-lurker-cleanup-count 0) 2585 (setq erc-lurker-cleanup-count 0)
2585 (erc-lurker-cleanup)) 2586 (erc-lurker-cleanup))
2586 (unless (gethash server erc-lurker-state) 2587 (unless (gethash server erc-lurker-state)
@@ -2605,6 +2606,17 @@ server within `erc-lurker-threshold-time'. See also
2605 (time-subtract (current-time) last-PRIVMSG-time)) 2606 (time-subtract (current-time) last-PRIVMSG-time))
2606 erc-lurker-threshold-time)))) 2607 erc-lurker-threshold-time))))
2607 2608
2609(defcustom erc-common-server-suffixes
2610 '(("openprojects.net$" . "OPN")
2611 ("freenode.net$" . "freenode")
2612 ("oftc.net$" . "OFTC"))
2613 "Alist of common server name suffixes.
2614This variable is used in mode-line display to save screen
2615real estate. Set it to nil if you want to avoid changing
2616displayed hostnames."
2617 :group 'erc-mode-line-and-header
2618 :type 'alist)
2619
2608(defun erc-canonicalize-server-name (server) 2620(defun erc-canonicalize-server-name (server)
2609 "Returns the canonical network name for SERVER if any, 2621 "Returns the canonical network name for SERVER if any,
2610otherwise `erc-server-announced-name'. SERVER is matched against 2622otherwise `erc-server-announced-name'. SERVER is matched against
@@ -3115,37 +3127,37 @@ If SERVER is non-nil, use that, rather than the current server."
3115 (add-to-list 'symlist 3127 (add-to-list 'symlist
3116 (cons (erc-once-with-server-event 3128 (cons (erc-once-with-server-event
3117 311 `(string= ,nick 3129 311 `(string= ,nick
3118 (second 3130 (nth 1
3119 (erc-response.command-args parsed)))) 3131 (erc-response.command-args parsed))))
3120 'erc-server-311-functions)) 3132 'erc-server-311-functions))
3121 (add-to-list 'symlist 3133 (add-to-list 'symlist
3122 (cons (erc-once-with-server-event 3134 (cons (erc-once-with-server-event
3123 312 `(string= ,nick 3135 312 `(string= ,nick
3124 (second 3136 (nth 1
3125 (erc-response.command-args parsed)))) 3137 (erc-response.command-args parsed))))
3126 'erc-server-312-functions)) 3138 'erc-server-312-functions))
3127 (add-to-list 'symlist 3139 (add-to-list 'symlist
3128 (cons (erc-once-with-server-event 3140 (cons (erc-once-with-server-event
3129 318 `(string= ,nick 3141 318 `(string= ,nick
3130 (second 3142 (nth 1
3131 (erc-response.command-args parsed)))) 3143 (erc-response.command-args parsed))))
3132 'erc-server-318-functions)) 3144 'erc-server-318-functions))
3133 (add-to-list 'symlist 3145 (add-to-list 'symlist
3134 (cons (erc-once-with-server-event 3146 (cons (erc-once-with-server-event
3135 319 `(string= ,nick 3147 319 `(string= ,nick
3136 (second 3148 (nth 1
3137 (erc-response.command-args parsed)))) 3149 (erc-response.command-args parsed))))
3138 'erc-server-319-functions)) 3150 'erc-server-319-functions))
3139 (add-to-list 'symlist 3151 (add-to-list 'symlist
3140 (cons (erc-once-with-server-event 3152 (cons (erc-once-with-server-event
3141 320 `(string= ,nick 3153 320 `(string= ,nick
3142 (second 3154 (nth 1
3143 (erc-response.command-args parsed)))) 3155 (erc-response.command-args parsed))))
3144 'erc-server-320-functions)) 3156 'erc-server-320-functions))
3145 (add-to-list 'symlist 3157 (add-to-list 'symlist
3146 (cons (erc-once-with-server-event 3158 (cons (erc-once-with-server-event
3147 330 `(string= ,nick 3159 330 `(string= ,nick
3148 (second 3160 (nth 1
3149 (erc-response.command-args parsed)))) 3161 (erc-response.command-args parsed))))
3150 'erc-server-330-functions)) 3162 'erc-server-330-functions))
3151 (add-to-list 'symlist 3163 (add-to-list 'symlist
@@ -4328,8 +4340,8 @@ See also: `erc-echo-notice-in-user-buffers',
4328 4340
4329(defun erc-banlist-store (proc parsed) 4341(defun erc-banlist-store (proc parsed)
4330 "Record ban entries for a channel." 4342 "Record ban entries for a channel."
4331 (multiple-value-bind (channel mask whoset) 4343 (pcase-let ((`(,channel ,mask ,whoset)
4332 (values-list (cdr (erc-response.command-args parsed))) 4344 (cdr (erc-response.command-args parsed))))
4333 ;; Determine to which buffer the message corresponds 4345 ;; Determine to which buffer the message corresponds
4334 (let ((buffer (erc-get-buffer channel proc))) 4346 (let ((buffer (erc-get-buffer channel proc)))
4335 (with-current-buffer buffer 4347 (with-current-buffer buffer
@@ -4340,7 +4352,7 @@ See also: `erc-echo-notice-in-user-buffers',
4340 4352
4341(defun erc-banlist-finished (proc parsed) 4353(defun erc-banlist-finished (proc parsed)
4342 "Record that we have received the banlist." 4354 "Record that we have received the banlist."
4343 (let* ((channel (second (erc-response.command-args parsed))) 4355 (let* ((channel (nth 1 (erc-response.command-args parsed)))
4344 (buffer (erc-get-buffer channel proc))) 4356 (buffer (erc-get-buffer channel proc)))
4345 (with-current-buffer buffer 4357 (with-current-buffer buffer
4346 (put 'erc-channel-banlist 'received-from-server t))) 4358 (put 'erc-channel-banlist 'received-from-server t)))
@@ -4349,7 +4361,7 @@ See also: `erc-echo-notice-in-user-buffers',
4349(defun erc-banlist-update (proc parsed) 4361(defun erc-banlist-update (proc parsed)
4350 "Check MODE commands for bans and update the banlist appropriately." 4362 "Check MODE commands for bans and update the banlist appropriately."
4351 ;; FIXME: Possibly incorrect. -- Lawrence 2004-05-11 4363 ;; FIXME: Possibly incorrect. -- Lawrence 2004-05-11
4352 (let* ((tgt (first (erc-response.command-args parsed))) 4364 (let* ((tgt (car (erc-response.command-args parsed)))
4353 (mode (erc-response.contents parsed)) 4365 (mode (erc-response.contents parsed))
4354 (whoset (erc-response.sender parsed)) 4366 (whoset (erc-response.sender parsed))
4355 (buffer (erc-get-buffer tgt proc))) 4367 (buffer (erc-get-buffer tgt proc)))
@@ -6000,7 +6012,7 @@ entry of `channel-members'."
6000 (if cuser 6012 (if cuser
6001 (setq op (erc-channel-user-op cuser) 6013 (setq op (erc-channel-user-op cuser)
6002 voice (erc-channel-user-voice cuser))) 6014 voice (erc-channel-user-voice cuser)))
6003 (if (interactive-p) 6015 (if (called-interactively-p 'interactive)
6004 (message "%s is %s@%s%s%s" 6016 (message "%s is %s@%s%s%s"
6005 nick login host 6017 nick login host
6006 (if full-name (format " (%s)" full-name) "") 6018 (if full-name (format " (%s)" full-name) "")
@@ -6088,17 +6100,6 @@ Otherwise, use the `erc-header-line' face."
6088 :group 'erc-paranoia 6100 :group 'erc-paranoia
6089 :type 'boolean) 6101 :type 'boolean)
6090 6102
6091(defcustom erc-common-server-suffixes
6092 '(("openprojects.net$" . "OPN")
6093 ("freenode.net$" . "freenode")
6094 ("oftc.net$" . "OFTC"))
6095 "Alist of common server name suffixes.
6096This variable is used in mode-line display to save screen
6097real estate. Set it to nil if you want to avoid changing
6098displayed hostnames."
6099 :group 'erc-mode-line-and-header
6100 :type 'alist)
6101
6102(defcustom erc-mode-line-away-status-format 6103(defcustom erc-mode-line-away-status-format
6103 "(AWAY since %a %b %d %H:%M) " 6104 "(AWAY since %a %b %d %H:%M) "
6104 "When you're away on a server, this is shown in the mode line. 6105 "When you're away on a server, this is shown in the mode line.
@@ -6302,7 +6303,7 @@ If optional argument HERE is non-nil, insert version number at point."
6302 (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version))) 6303 (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version)))
6303 (if here 6304 (if here
6304 (insert version-string) 6305 (insert version-string)
6305 (if (interactive-p) 6306 (if (called-interactively-p 'interactive)
6306 (message "%s" version-string) 6307 (message "%s" version-string)
6307 version-string)))) 6308 version-string))))
6308 6309
@@ -6322,7 +6323,7 @@ If optional argument HERE is non-nil, insert version number at point."
6322 ", "))) 6323 ", ")))
6323 (if here 6324 (if here
6324 (insert string) 6325 (insert string)
6325 (if (interactive-p) 6326 (if (called-interactively-p 'interactive)
6326 (message "%s" string) 6327 (message "%s" string)
6327 string)))) 6328 string))))
6328 6329
diff --git a/lisp/json.el b/lisp/json.el
index 8167bfe93f2..b1ea03120dc 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -51,7 +51,6 @@
51 51
52;;; Code: 52;;; Code:
53 53
54(eval-when-compile (require 'cl))
55 54
56;; Compatibility code 55;; Compatibility code
57 56