Mercurial > emacs
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)) |