diff options
| author | Stefan Monnier | 2016-04-02 15:38:54 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2016-04-02 15:38:54 -0400 |
| commit | 52c7b770d5f3d9deedf47fec4a23190d48bd62a1 (patch) | |
| tree | 8f674e4836d1403149c7d03c57d7025497a2d839 | |
| parent | 7aa94d60560c0f1ba15b7fd2fd5d5a5bf114795a (diff) | |
| download | emacs-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.el | 68 |
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. |
| 381 | It should take same arguments as `open-network-stream' does." | 381 | It 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 | ||
| 1574 | A server may send more than one 005 message." | 1575 | A 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 |