[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Erc-commit] [commit][emacs22] Fix infinite reconnect bug when server er
From: |
mwolson |
Subject: |
[Erc-commit] [commit][emacs22] Fix infinite reconnect bug when server error occurs |
Date: |
Sun, 14 Oct 2007 00:48:44 -0400 |
commit c343782579602ebd40d02c267ca85823bc6ca846
Author: Michael Olson <address@hidden>
Date: Mon Jan 22 01:49:04 2007 +0000
Fix infinite reconnect bug when server error occurs
* erc-backend.el (erc-server-error-occurred): New variable that indicates
when an error has been signaled by the server. This should fix an
infinite reconnect bug when giving some servers a bogus :full-name.
Thanks to Angelina Carlton for the report.
(erc-server-connect): Initialize erc-server-error-occurred.
(erc-server-reconnect-p): Use it.
(ERROR): Set it.
git-archimport-id: address@hidden/erc--main--0--patch-99
diff --git a/ChangeLog b/ChangeLog
index ce29520..2e8d3e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2007-01-22 Michael Olson <address@hidden>
+ * erc-backend.el (erc-server-error-occurred): New variable that
+ indicates when an error has been signaled by the server. This
+ should fix an infinite reconnect bug when giving some servers a
+ bogus :full-name. Thanks to Angelina Carlton for the report.
+ (erc-server-connect): Initialize erc-server-error-occurred.
+ (erc-server-reconnect-p): Use it.
+ (ERROR): Set it.
+
* erc-services.el (erc-nickserv-alist): Alphabetize and add Ars
and QuakeNet. Standardize look of entries. Fix type mismatch
error in customize interface.
diff --git a/erc-backend.el b/erc-backend.el
index 477354b..8122c8a 100644
--- a/erc-backend.el
+++ b/erc-backend.el
@@ -201,6 +201,10 @@ active, use the `erc-server-process-alive' function
instead.")
"Non-nil if the user is denied access because of a server ban.")
(make-variable-buffer-local 'erc-server-banned)
+(defvar erc-server-error-occurred nil
+ "Non-nil if the user triggers some server error.")
+(make-variable-buffer-local 'erc-server-error-occurred)
+
(defvar erc-server-lines-sent nil
"Line counter.")
(make-variable-buffer-local 'erc-server-lines-sent)
@@ -495,6 +499,7 @@ We will store server variables in the buffer given by
BUFFER."
(setq erc-server-quitting nil)
(setq erc-server-timed-out nil)
(setq erc-server-banned nil)
+ (setq erc-server-error-occurred nil)
(let ((time (erc-current-time)))
(setq erc-server-last-sent-time time)
(setq erc-server-last-ping-time time)
@@ -570,6 +575,7 @@ Make sure you are in an ERC buffer when running this."
EVENT is the message received from the closed connection process."
(and erc-server-auto-reconnect
(not erc-server-banned)
+ (not erc-server-error-occurred)
;; make sure we don't infinitely try to reconnect, unless the
;; user wants that
(or (eq erc-server-reconnect-attempts t)
@@ -1098,6 +1104,7 @@ add things to `%s' instead."
(define-erc-response-handler (ERROR)
"Handle an ERROR command from the server." nil
+ (setq erc-server-error-occurred t)
(erc-display-message
parsed 'error nil 'ERROR
?s (erc-response.sender parsed) ?c (erc-response.contents parsed)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Erc-commit] [commit][emacs22] Fix infinite reconnect bug when server error occurs,
mwolson <=