aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2016-04-02 15:38:54 -0400
committerStefan Monnier2016-04-02 15:38:54 -0400
commit52c7b770d5f3d9deedf47fec4a23190d48bd62a1 (patch)
tree8f674e4836d1403149c7d03c57d7025497a2d839
parent7aa94d60560c0f1ba15b7fd2fd5d5a5bf114795a (diff)
downloademacs-52c7b770d5f3d9deedf47fec4a23190d48bd62a1.tar.gz
emacs-52c7b770d5f3d9deedf47fec4a23190d48bd62a1.zip
* lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
Use #' to quote functions. (erc-server-delayed-reconnect): Remove unused arg `event'. (erc-process-sentinel-2): Adjust accordingly. Don't pass `err' to condition-case if we don't use it. (define-erc-response-handler): Use add-hook rather than add-to-list. (NICK): Use cl-pushnew rather than add-to-list. (331): Remove unused var `topic'. (352): Remove unused var `hopcount'.
-rw-r--r--lisp/erc/erc-backend.el68
1 files changed, 33 insertions, 35 deletions
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 46e6d89ba5b..bbb7ccbc99d 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -1,4 +1,4 @@
1;;; erc-backend.el --- Backend network communication for ERC 1;;; erc-backend.el --- Backend network communication for ERC -*- lexical-binding:t -*-
2 2
3;; Copyright (C) 2004-2016 Free Software Foundation, Inc. 3;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
4 4
@@ -376,7 +376,7 @@ alist."
376 :type '(repeat (cons (string :tag "Target") 376 :type '(repeat (cons (string :tag "Target")
377 coding-system))) 377 coding-system)))
378 378
379(defcustom erc-server-connect-function 'erc-open-network-stream 379(defcustom erc-server-connect-function #'erc-open-network-stream
380 "Function used to initiate a connection. 380 "Function used to initiate a connection.
381It should take same arguments as `open-network-stream' does." 381It should take same arguments as `open-network-stream' does."
382 :group 'erc-server 382 :group 'erc-server
@@ -574,8 +574,8 @@ We will store server variables in the buffer given by BUFFER."
574 (when (fboundp 'set-process-coding-system) 574 (when (fboundp 'set-process-coding-system)
575 (set-process-coding-system process 'raw-text)) 575 (set-process-coding-system process 'raw-text))
576 ;; process handlers 576 ;; process handlers
577 (set-process-sentinel process 'erc-process-sentinel) 577 (set-process-sentinel process #'erc-process-sentinel)
578 (set-process-filter process 'erc-server-filter-function) 578 (set-process-filter process #'erc-server-filter-function)
579 (set-process-buffer process buffer) 579 (set-process-buffer process buffer)
580 (erc-log "\n\n\n********************************************\n") 580 (erc-log "\n\n\n********************************************\n")
581 (message "%s" (erc-format-message 581 (message "%s" (erc-format-message
@@ -603,11 +603,11 @@ Make sure you are in an ERC buffer when running this."
603 (setq erc-server-last-sent-time 0) 603 (setq erc-server-last-sent-time 0)
604 (setq erc-server-lines-sent 0) 604 (setq erc-server-lines-sent 0)
605 (let ((erc-server-connect-function (or erc-session-connector 605 (let ((erc-server-connect-function (or erc-session-connector
606 'erc-open-network-stream))) 606 #'erc-open-network-stream)))
607 (erc-open erc-session-server erc-session-port erc-server-current-nick 607 (erc-open erc-session-server erc-session-port erc-server-current-nick
608 erc-session-user-full-name t erc-session-password))))) 608 erc-session-user-full-name t erc-session-password)))))
609 609
610(defun erc-server-delayed-reconnect (event buffer) 610(defun erc-server-delayed-reconnect (buffer)
611 (if (buffer-live-p buffer) 611 (if (buffer-live-p buffer)
612 (with-current-buffer buffer 612 (with-current-buffer buffer
613 (erc-server-reconnect)))) 613 (erc-server-reconnect))))
@@ -676,18 +676,18 @@ EVENT is the message received from the closed connection process."
676 (erc-update-mode-line) 676 (erc-update-mode-line)
677 (set-buffer-modified-p nil)) 677 (set-buffer-modified-p nil))
678 ;; reconnect 678 ;; reconnect
679 (condition-case err 679 (condition-case nil
680 (progn 680 (progn
681 (setq erc-server-reconnecting nil 681 (setq erc-server-reconnecting nil
682 erc-server-reconnect-count (1+ erc-server-reconnect-count)) 682 erc-server-reconnect-count (1+ erc-server-reconnect-count))
683 (setq delay erc-server-reconnect-timeout) 683 (setq delay erc-server-reconnect-timeout)
684 (run-at-time delay nil 684 (run-at-time delay nil
685 #'erc-server-delayed-reconnect event buffer)) 685 #'erc-server-delayed-reconnect buffer))
686 (error (unless (integerp erc-server-reconnect-attempts) 686 (error (unless (integerp erc-server-reconnect-attempts)
687 (message "%s ... %s" 687 (message "%s ... %s"
688 "Reconnecting until we succeed" 688 "Reconnecting until we succeed"
689 "kill the ERC server buffer to stop")) 689 "kill the ERC server buffer to stop"))
690 (erc-server-delayed-reconnect event buffer)))))))) 690 (erc-server-delayed-reconnect buffer))))))))
691 691
692(defun erc-process-sentinel-1 (event buffer) 692(defun erc-process-sentinel-1 (event buffer)
693 "Called when `erc-process-sentinel' has decided that we're disconnecting. 693 "Called when `erc-process-sentinel' has decided that we're disconnecting.
@@ -810,7 +810,7 @@ protection algorithm."
810 (+ erc-server-flood-penalty 810 (+ erc-server-flood-penalty
811 erc-server-flood-last-message)) 811 erc-server-flood-last-message))
812 (erc-log-irc-protocol str 'outbound) 812 (erc-log-irc-protocol str 'outbound)
813 (condition-case err 813 (condition-case nil
814 (progn 814 (progn
815 ;; Set encoding just before sending the string 815 ;; Set encoding just before sending the string
816 (when (fboundp 'set-process-coding-system) 816 (when (fboundp 'set-process-coding-system)
@@ -877,7 +877,7 @@ protection algorithm."
877 (erc-log (concat "erc-server-send-queue: " 877 (erc-log (concat "erc-server-send-queue: "
878 msg "(" (buffer-name buffer) ")")) 878 msg "(" (buffer-name buffer) ")"))
879 (when (erc-server-process-alive) 879 (when (erc-server-process-alive)
880 (condition-case err 880 (condition-case nil
881 ;; Set encoding just before sending the string 881 ;; Set encoding just before sending the string
882 (progn 882 (progn
883 (when (fboundp 'set-process-coding-system) 883 (when (fboundp 'set-process-coding-system)
@@ -1068,7 +1068,7 @@ Finds hooks by looking in the `erc-server-responses' hashtable."
1068 (erc-with-server-buffer 1068 (erc-with-server-buffer
1069 (run-hook-with-args 'erc-timer-hook (erc-current-time))))) 1069 (run-hook-with-args 'erc-timer-hook (erc-current-time)))))
1070 1070
1071(add-hook 'erc-default-server-functions 'erc-handle-unknown-server-response) 1071(add-hook 'erc-default-server-functions #'erc-handle-unknown-server-response)
1072 1072
1073(defun erc-handle-unknown-server-response (proc parsed) 1073(defun erc-handle-unknown-server-response (proc parsed)
1074 "Display unknown server response's message." 1074 "Display unknown server response's message."
@@ -1076,7 +1076,7 @@ Finds hooks by looking in the `erc-server-responses' hashtable."
1076 " " 1076 " "
1077 (erc-response.command parsed) 1077 (erc-response.command parsed)
1078 " " 1078 " "
1079 (mapconcat 'identity (erc-response.command-args parsed) 1079 (mapconcat #'identity (erc-response.command-args parsed)
1080 " ")))) 1080 " "))))
1081 (erc-display-message parsed 'notice proc line))) 1081 (erc-display-message parsed 'notice proc line)))
1082 1082
@@ -1207,10 +1207,11 @@ add things to `%s' instead."
1207 ;; value at this point, so I default to nil, and (add-hook) 1207 ;; value at this point, so I default to nil, and (add-hook)
1208 ;; unconditionally 1208 ;; unconditionally
1209 (defvar ,hook-name nil ,(format hook-doc name)) 1209 (defvar ,hook-name nil ,(format hook-doc name))
1210 (add-to-list ',hook-name ',fn-name) 1210 (add-hook ',hook-name #',fn-name)
1211 ;; Handler function 1211 ;; Handler function
1212 (defun ,fn-name (proc parsed) 1212 (defun ,fn-name (proc parsed)
1213 ,fn-doc 1213 ,fn-doc
1214 (ignore proc parsed)
1214 ,@fn-body) 1215 ,@fn-body)
1215 1216
1216 ;; Make find-function and find-variable find them 1217 ;; Make find-function and find-variable find them
@@ -1323,7 +1324,7 @@ add things to `%s' instead."
1323(define-erc-response-handler (MODE) 1324(define-erc-response-handler (MODE)
1324 "Handle server mode changes." nil 1325 "Handle server mode changes." nil
1325 (let ((tgt (car (erc-response.command-args parsed))) 1326 (let ((tgt (car (erc-response.command-args parsed)))
1326 (mode (mapconcat 'identity (cdr (erc-response.command-args parsed)) 1327 (mode (mapconcat #'identity (cdr (erc-response.command-args parsed))
1327 " "))) 1328 " ")))
1328 (pcase-let ((`(,nick ,login ,host) 1329 (pcase-let ((`(,nick ,login ,host)
1329 (erc-parse-user (erc-response.sender parsed)))) 1330 (erc-parse-user (erc-response.sender parsed))))
@@ -1365,11 +1366,11 @@ add things to `%s' instead."
1365 (cons nn (cdr erc-default-recipients))) 1366 (cons nn (cdr erc-default-recipients)))
1366 (rename-buffer nn t) ; bug#12002 1367 (rename-buffer nn t) ; bug#12002
1367 (erc-update-mode-line) 1368 (erc-update-mode-line)
1368 (add-to-list 'bufs (current-buffer))))) 1369 (cl-pushnew (current-buffer) bufs))))
1369 (erc-update-user-nick nick nn host nil nil login) 1370 (erc-update-user-nick nick nn host nil nil login)
1370 (cond 1371 (cond
1371 ((string= nick (erc-current-nick)) 1372 ((string= nick (erc-current-nick))
1372 (add-to-list 'bufs (erc-server-buffer)) 1373 (cl-pushnew (erc-server-buffer) bufs)
1373 (erc-set-current-nick nn) 1374 (erc-set-current-nick nn)
1374 (erc-update-mode-line) 1375 (erc-update-mode-line)
1375 (setq erc-nick-change-attempt-count 0) 1376 (setq erc-nick-change-attempt-count 0)
@@ -1490,7 +1491,7 @@ add things to `%s' instead."
1490 1491
1491;; FIXME: need clean way of specifying extra hooks in 1492;; FIXME: need clean way of specifying extra hooks in
1492;; define-erc-response-handler. 1493;; define-erc-response-handler.
1493(add-hook 'erc-server-PRIVMSG-functions 'erc-auto-query) 1494(add-hook 'erc-server-PRIVMSG-functions #'erc-auto-query)
1494 1495
1495(define-erc-response-handler (QUIT) 1496(define-erc-response-handler (QUIT)
1496 "Another user has quit IRC." nil 1497 "Another user has quit IRC." nil
@@ -1521,7 +1522,7 @@ add things to `%s' instead."
1521(define-erc-response-handler (WALLOPS) 1522(define-erc-response-handler (WALLOPS)
1522 "Display a WALLOPS message." nil 1523 "Display a WALLOPS message." nil
1523 (let ((message (erc-response.contents parsed))) 1524 (let ((message (erc-response.contents parsed)))
1524 (pcase-let ((`(,nick ,login ,host) 1525 (pcase-let ((`(,nick ,_login ,_host)
1525 (erc-parse-user (erc-response.sender parsed)))) 1526 (erc-parse-user (erc-response.sender parsed))))
1526 (erc-display-message 1527 (erc-display-message
1527 parsed 'notice nil 1528 parsed 'notice nil
@@ -1573,7 +1574,7 @@ certain commands are accepted and more. See documentation for
1573 1574
1574A server may send more than one 005 message." 1575A server may send more than one 005 message."
1575 nil 1576 nil
1576 (let ((line (mapconcat 'identity 1577 (let ((line (mapconcat #'identity
1577 (setf (erc-response.command-args parsed) 1578 (setf (erc-response.command-args parsed)
1578 (cdr (erc-response.command-args parsed))) 1579 (cdr (erc-response.command-args parsed)))
1579 " "))) 1580 " ")))
@@ -1592,7 +1593,7 @@ A server may send more than one 005 message."
1592(define-erc-response-handler (221) 1593(define-erc-response-handler (221)
1593 "Display the current user modes." nil 1594 "Display the current user modes." nil
1594 (let* ((nick (car (erc-response.command-args parsed))) 1595 (let* ((nick (car (erc-response.command-args parsed)))
1595 (modes (mapconcat 'identity 1596 (modes (mapconcat #'identity
1596 (cdr (erc-response.command-args parsed)) " "))) 1597 (cdr (erc-response.command-args parsed)) " ")))
1597 (erc-set-modes nick modes) 1598 (erc-set-modes nick modes)
1598 (erc-display-message parsed 'notice 'active 's221 ?n nick ?m modes))) 1599 (erc-display-message parsed 'notice 'active 's221 ?n nick ?m modes)))
@@ -1620,12 +1621,12 @@ See `erc-display-server-message'." nil
1620 1621
1621(define-erc-response-handler (275) 1622(define-erc-response-handler (275)
1622 "Display secure connection message." nil 1623 "Display secure connection message." nil
1623 (pcase-let ((`(,nick ,user ,message) 1624 (pcase-let ((`(,nick ,_user ,_message)
1624 (cdr (erc-response.command-args parsed)))) 1625 (cdr (erc-response.command-args parsed))))
1625 (erc-display-message 1626 (erc-display-message
1626 parsed 'notice 'active 's275 1627 parsed 'notice 'active 's275
1627 ?n nick 1628 ?n nick
1628 ?m (mapconcat 'identity (cddr (erc-response.command-args parsed)) 1629 ?m (mapconcat #'identity (cddr (erc-response.command-args parsed))
1629 " ")))) 1630 " "))))
1630 1631
1631(define-erc-response-handler (290) 1632(define-erc-response-handler (290)
@@ -1656,12 +1657,12 @@ See `erc-display-server-message'." nil
1656 1657
1657(define-erc-response-handler (307) 1658(define-erc-response-handler (307)
1658 "Display nick-identified message." nil 1659 "Display nick-identified message." nil
1659 (pcase-let ((`(,nick ,user ,message) 1660 (pcase-let ((`(,nick ,_user ,_message)
1660 (cdr (erc-response.command-args parsed)))) 1661 (cdr (erc-response.command-args parsed))))
1661 (erc-display-message 1662 (erc-display-message
1662 parsed 'notice 'active 's307 1663 parsed 'notice 'active 's307
1663 ?n nick 1664 ?n nick
1664 ?m (mapconcat 'identity (cddr (erc-response.command-args parsed)) 1665 ?m (mapconcat #'identity (cddr (erc-response.command-args parsed))
1665 " ")))) 1666 " "))))
1666 1667
1667(define-erc-response-handler (311 314) 1668(define-erc-response-handler (311 314)
@@ -1735,12 +1736,12 @@ See `erc-display-server-message'." nil
1735 "Display a message for the 321 event." 1736 "Display a message for the 321 event."
1736 (erc-display-message parsed 'notice proc 's321) 1737 (erc-display-message parsed 'notice proc 's321)
1737 nil) 1738 nil)
1738(add-hook 'erc-server-321-functions 'erc-server-321-message t) 1739(add-hook 'erc-server-321-functions #'erc-server-321-message t)
1739 1740
1740(define-erc-response-handler (322) 1741(define-erc-response-handler (322)
1741 "LIST notice." nil 1742 "LIST notice." nil
1742 (let ((topic (erc-response.contents parsed))) 1743 (let ((topic (erc-response.contents parsed)))
1743 (pcase-let ((`(,channel ,num-users) 1744 (pcase-let ((`(,channel ,_num-users)
1744 (cdr (erc-response.command-args parsed)))) 1745 (cdr (erc-response.command-args parsed))))
1745 (add-to-list 'erc-channel-list (list channel)) 1746 (add-to-list 'erc-channel-list (list channel))
1746 (erc-update-channel-topic channel topic)))) 1747 (erc-update-channel-topic channel topic))))
@@ -1753,12 +1754,12 @@ See `erc-display-server-message'." nil
1753 (erc-display-message 1754 (erc-display-message
1754 parsed 'notice proc 's322 1755 parsed 'notice proc 's322
1755 ?c channel ?u num-users ?t (or topic ""))))) 1756 ?c channel ?u num-users ?t (or topic "")))))
1756(add-hook 'erc-server-322-functions 'erc-server-322-message t) 1757(add-hook 'erc-server-322-functions #'erc-server-322-message t)
1757 1758
1758(define-erc-response-handler (324) 1759(define-erc-response-handler (324)
1759 "Channel or nick modes." nil 1760 "Channel or nick modes." nil
1760 (let ((channel (cadr (erc-response.command-args parsed))) 1761 (let ((channel (cadr (erc-response.command-args parsed)))
1761 (modes (mapconcat 'identity (cddr (erc-response.command-args parsed)) 1762 (modes (mapconcat #'identity (cddr (erc-response.command-args parsed))
1762 " "))) 1763 " ")))
1763 (erc-set-modes channel modes) 1764 (erc-set-modes channel modes)
1764 (erc-display-message 1765 (erc-display-message
@@ -1800,8 +1801,7 @@ See `erc-display-server-message'." nil
1800 1801
1801(define-erc-response-handler (331) 1802(define-erc-response-handler (331)
1802 "No topic set for channel." nil 1803 "No topic set for channel." nil
1803 (let ((channel (cadr (erc-response.command-args parsed))) 1804 (let ((channel (cadr (erc-response.command-args parsed))))
1804 (topic (erc-response.contents parsed)))
1805 (erc-display-message parsed 'notice (erc-get-buffer channel proc) 1805 (erc-display-message parsed 'notice (erc-get-buffer channel proc)
1806 's331 ?c channel))) 1806 's331 ?c channel)))
1807 1807
@@ -1835,12 +1835,10 @@ See `erc-display-server-message'." nil
1835 1835
1836(define-erc-response-handler (352) 1836(define-erc-response-handler (352)
1837 "WHO notice." nil 1837 "WHO notice." nil
1838 (pcase-let ((`(,channel ,user ,host ,server ,nick ,away-flag) 1838 (pcase-let ((`(,channel ,user ,host ,_server ,nick ,away-flag)
1839 (cdr (erc-response.command-args parsed)))) 1839 (cdr (erc-response.command-args parsed))))
1840 (let ((full-name (erc-response.contents parsed)) 1840 (let ((full-name (erc-response.contents parsed)))
1841 hopcount)
1842 (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name) 1841 (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name)
1843 (setq hopcount (match-string 1 full-name))
1844 (setq full-name (match-string 2 full-name))) 1842 (setq full-name (match-string 2 full-name)))
1845 (erc-update-channel-member channel nick nick nil nil nil nil nil nil host user full-name) 1843 (erc-update-channel-member channel nick nick nil nil nil nil nil nil host user full-name)
1846 (erc-display-message parsed 'notice 'active 's352 1844 (erc-display-message parsed 'notice 'active 's352