Index: lisp/imap.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/imap.el,v retrieving revision 7.29 diff -u -r7.29 imap.el --- lisp/imap.el 26 Jun 2006 12:08:33 -0000 7.29 +++ lisp/imap.el 4 Sep 2006 17:45:39 -0000 @@ -1142,7 +1142,16 @@ (buffer-live-p buffer) (with-current-buffer buffer (and imap-process - (memq (process-status imap-process) '(open run)))))) + (memq (process-status imap-process) '(open run)) + (imap-ping-server))))) + +(defun imap-ping-server (&optional buffer) + "Ping the imap server in BUFFER with a noop command. Return non-nil +if the server responds, and nil if it does not respond. If BUFFER is +nil, the current buffer is used." + (condition-case () + (imap-ok-p (imap-send-command-wait "NOOP" buffer)) + (error nil))) (defun imap-authenticate (&optional user passwd buffer) "Authenticate to server in BUFFER, using current buffer if nil.