aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/erc/erc-dcc.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/erc/erc-dcc.el')
-rw-r--r--lisp/erc/erc-dcc.el68
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)))