Removing that line seems OK to me. On Mon, Dec 28, 2015 at 10:23 AM, Lars Ingebrigtsen wrote: > Robert Brown writes: > > > Thanks for getting back to me about this issue. It's been several > > months since I reported the reconnection problem. I have been > > able to work around it by setting erc-server-error-occurred to nil > > in a disconnect hook: > > > > (add-hook 'erc-disconnected-hook > > #'(lambda (nick host-name reason) > > ;; Re-establish the connection even if the server closed > it. > > (setq erc-server-error-occurred nil))) > > > > So yes, when the root cause of the disconnection is a server error, > > erc-server-error-occurred is set to true and the reconnect logic > > in erc-server-reconnect-p is bypassed ... so reconnection does not > > happen. > > > > In the example I sent you, I believe the server closed the connection > > and erc-server-error-occurred was set to true because of a ping > > timeout. > > > > I would prefer that erc-server-reconnect-p not check > > erc-server-error-occurred so that reconnection can happen even > > if the cause of the disconnect was a server error. > > I think that sounds reasonable, but there may be reasons for that logic. > I've Cc'd the erc mailing list to see whether they have any comments... > > This is the function that determines whether to reconnect, and the > suggestion is to remove the line about erc-server-error-occurred: > > (defsubst erc-server-reconnect-p (event) > "Return non-nil if ERC should attempt to reconnect automatically. > EVENT is the message received from the closed connection process." > (or erc-server-reconnecting > (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) > (and (integerp erc-server-reconnect-attempts) > (< erc-server-reconnect-count > erc-server-reconnect-attempts))) > (or erc-server-timed-out > (not (string-match "^deleted" event))) > ;; open-network-stream-nowait error for connection refused > (if (string-match "^failed with code 111" event) 'nonblocking > t)))) > > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > > _______________________________________________ > Erc-discuss mailing list > Erc-discuss@gnu.org > https://lists.gnu.org/mailman/listinfo/erc-discuss >