diff options
Diffstat (limited to 'lisp/erc/erc-dcc.el')
| -rw-r--r-- | lisp/erc/erc-dcc.el | 68 |
1 files changed, 33 insertions, 35 deletions
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))) |