diff options
| author | Stefan Monnier | 2012-11-19 12:24:12 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2012-11-19 12:24:12 -0500 |
| commit | 19dc72069c79865d5464737b4ce10ed25a3be49b (patch) | |
| tree | 58eb37bf96ecbb9659eba0b95f6fa42ea4551a5d /lisp | |
| parent | 855b17af8fd8a96e1ca66a652b88f34479df12d7 (diff) | |
| download | emacs-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/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/color.el | 9 | ||||
| -rw-r--r-- | lisp/erc/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/erc/erc-backend.el | 156 | ||||
| -rw-r--r-- | lisp/erc/erc-capab.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-dcc.el | 68 | ||||
| -rw-r--r-- | lisp/erc/erc-ezbounce.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-join.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-log.el | 7 | ||||
| -rw-r--r-- | lisp/erc/erc-match.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-netsplit.el | 7 | ||||
| -rw-r--r-- | lisp/erc/erc-networks.el | 14 | ||||
| -rw-r--r-- | lisp/erc/erc-notify.el | 4 | ||||
| -rw-r--r-- | lisp/erc/erc-pcomplete.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-services.el | 2 | ||||
| -rw-r--r-- | lisp/erc/erc-speedbar.el | 1 | ||||
| -rw-r--r-- | lisp/erc/erc-track.el | 26 | ||||
| -rw-r--r-- | lisp/erc/erc.el | 99 | ||||
| -rw-r--r-- | lisp/json.el | 1 |
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 @@ | |||
| 1 | 2012-11-19 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2012-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 | ||
| 5 | 2012-11-19 Jay Belanger <jay.p.belanger@gmail.com> | 9 | 2012-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." | |||
| 69 | COLOR-NAME should be a string naming a color (e.g. \"white\"), or | 66 | COLOR-NAME should be a string naming a color (e.g. \"white\"), or |
| 70 | a string specifying a color's RGB components (e.g. \"#ff12ec\")." | 67 | a 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 @@ | |||
| 1 | 2012-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 | |||
| 1 | 2012-11-16 Glenn Morris <rgm@gnu.org> | 14 | 2012-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. |
| 2166 | This function is the main entry point for ERC. | 2166 | This 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 | |||
| 2483 | See 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 | |||
| 2497 | See 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. | ||
| 2614 | This variable is used in mode-line display to save screen | ||
| 2615 | real estate. Set it to nil if you want to avoid changing | ||
| 2616 | displayed 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, |
| 2610 | otherwise `erc-server-announced-name'. SERVER is matched against | 2622 | otherwise `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. | ||
| 6096 | This variable is used in mode-line display to save screen | ||
| 6097 | real estate. Set it to nil if you want to avoid changing | ||
| 6098 | displayed 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 | ||