From: Teodor Zlatanov Date: Mon, 25 Oct 2004 19:07:52 +0000 (+0000) Subject: (nnimap-remove-server-from-buffer-alist): new function X-Git-Url: http://cgit.sxemacs.org/?a=commitdiff_plain;h=d942fa68a73354b15629dd6a97aff77813c9a0ce;p=gnus (nnimap-remove-server-from-buffer-alist): new function to remove a server from the nnimap-server-buffer-alist (nnimap-open-connection, nnimap-close-server): use it --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 20b60fda6..94aecec17 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2004-10-25 Teodor Zlatanov + * nnimap.el (nnimap-remove-server-from-buffer-alist): new function + to remove a server from the nnimap-server-buffer-alist + (nnimap-open-connection, nnimap-close-server): use it + * gnus-encrypt.el: removed in favor of encrypt.el 2004-10-21 Katsumi Yamaoka diff --git a/lisp/nnimap.el b/lisp/nnimap.el index cb7f7111b..ff9cbc153 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -475,6 +475,14 @@ An example plist would be '(\"name\" \"Gnus\" \"version\" gnus-version-number "Return buffer for SERVER, if nil use current server." (cadr (assoc (or server nnimap-current-server) nnimap-server-buffer-alist))) +(defun nnimap-remove-server-from-buffer-alist (server list) + "Remove SERVER from LIST." + (let (l) + (dolist (e list) + (unless (equal server (car-safe e)) + (push e l))) + l)) + (defun nnimap-possibly-change-server (server) "Return buffer for SERVER, changing the current server as a side-effect. If SERVER is nil, uses the current server." @@ -781,6 +789,10 @@ If EXAMINE is non-nil the group is selected read-only." (list "imap" "imaps")))) (if (imap-authenticate user passwd nnimap-server-buffer) (prog1 + (setq nnimap-server-buffer-alist + (nnimap-remove-server-from-buffer-alist + server + nnimap-server-buffer-alist)) (push (list server nnimap-server-buffer) nnimap-server-buffer-alist) (imap-id nnimap-id nnimap-server-buffer) @@ -837,7 +849,9 @@ Return nil if the server couldn't be closed for some reason." (setq nnimap-server-buffer nil nnimap-current-server nil nnimap-server-buffer-alist - (delq server nnimap-server-buffer-alist))) + (nnimap-remove-server-from-buffer-alist + server + nnimap-server-buffer-alist))) (nnoo-close-server 'nnimap server))) (deffoo nnimap-request-close ()