comparison lisp/erc/erc-backend.el @ 106989:69a56b685af8

Fix erc reconnection via non-default connectors (Bug#4958). * erc-backend.el (erc-session-connector): New var. (erc-server-reconnect): Use it to reconnect via old connector (Bug#4958). * erc.el (erc-determine-parameters): Save erc-server-connect-function to erc-session-connector.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 25 Jan 2010 13:49:23 -0500
parents 1d1d5d9bd884
children eb66d5d15b09 89ed069d5e26
comparison
equal deleted inserted replaced
106988:05efa1881381 106989:69a56b685af8
128 128
129 (defvar erc-session-server nil 129 (defvar erc-session-server nil
130 "The server name used to connect to for this session.") 130 "The server name used to connect to for this session.")
131 (make-variable-buffer-local 'erc-session-server) 131 (make-variable-buffer-local 'erc-session-server)
132 132
133 (defvar erc-session-connector nil
134 "The function used to connect to this session (nil for the default).")
135 (make-variable-buffer-local 'erc-session-connector)
136
133 (defvar erc-session-port nil 137 (defvar erc-session-port nil
134 "The port used to connect to.") 138 "The port used to connect to.")
135 (make-variable-buffer-local 'erc-session-port) 139 (make-variable-buffer-local 'erc-session-port)
136 140
137 (defvar erc-server-announced-name nil 141 (defvar erc-server-announced-name nil
536 (with-current-buffer buffer 540 (with-current-buffer buffer
537 (erc-update-mode-line) 541 (erc-update-mode-line)
538 (erc-set-active-buffer (current-buffer)) 542 (erc-set-active-buffer (current-buffer))
539 (setq erc-server-last-sent-time 0) 543 (setq erc-server-last-sent-time 0)
540 (setq erc-server-lines-sent 0) 544 (setq erc-server-lines-sent 0)
541 (erc-open erc-session-server erc-session-port erc-server-current-nick 545 (let ((erc-server-connect-function (or erc-session-connector
542 erc-session-user-full-name t erc-session-password)))) 546 'open-network-stream)))
547 (erc-open erc-session-server erc-session-port erc-server-current-nick
548 erc-session-user-full-name t erc-session-password)))))
543 549
544 (defun erc-server-filter-function (process string) 550 (defun erc-server-filter-function (process string)
545 "The process filter for the ERC server." 551 "The process filter for the ERC server."
546 (with-current-buffer (process-buffer process) 552 (with-current-buffer (process-buffer process)
547 (setq erc-server-last-received-time (erc-current-time)) 553 (setq erc-server-last-received-time (erc-current-time))