From: Andreas Rottmann Subject: Allow multiple rcirc connections to the same host * lisp/net/rcirc.el (rcirc): When collecting the already-connected servers list, consider both hostname and port, instead of hostname only. Also take the port into account on the messages displayed. (rcirc-connect): Include port number in "Connecting to" message. --- lisp/net/rcirc.el | 17 ++++++++--------- 1 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index f7f5f61..14b020a 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -473,20 +473,19 @@ If ARG is non-nil, instead prompt for connection parameters." (password (plist-get (cdr c) :password)) (encryption (plist-get (cdr c) :encryption))) (when server - (let (connected) + (let ((contact (list server port)) + connected) (dolist (p (rcirc-process-list)) - (when (string= server (process-name p)) + (when (equal contact (process-contact p)) (setq connected p))) (if (not connected) (condition-case e (rcirc-connect server port nick user-name full-name channels password encryption) - (quit (message "Quit connecting to %s" server))) - (with-current-buffer (process-buffer connected) - (setq connected-servers - (cons (process-contact (get-buffer-process - (current-buffer)) :host) - connected-servers)))))))) + (quit (message "Quit connecting to %s:%d" server port))) + (setq connected-servers + (cons (format "%s:%d" (car contact) (cadr contact)) + connected-servers))))))) (when connected-servers (message "Already connected to %s" (if (cdr connected-servers) @@ -515,7 +514,7 @@ If ARG is non-nil, instead prompt for connection parameters." (defun rcirc-connect (server &optional port nick user-name full-name startup-channels password encryption) (save-excursion - (message "Connecting to %s..." server) + (message "Connecting to %s:%s..." server port) (let* ((inhibit-eol-conversion) (port-number (if port (if (stringp port) -- tg: (b67be85..) t/rcirc-multiport (depends on: master)