Sync with `t-gnus-6_14'.
[elisp/gnus.git-] / lisp / pop3.el
index 0c45144..ae48589 100644 (file)
@@ -94,6 +94,12 @@ Nil means no, t means yes, not-nil-or-t means yet to be determined.")
   (autoload 'starttls-open-stream "starttls")
   (autoload 'starttls-negotiate "starttls"))
 
+(defvar pop3-ssl-program-name
+  (if (exec-installed-p "openssl")
+      "openssl"
+    "ssleay")
+  "The program to run in a subprocess to open an SSL connection.")
+
 (defvar pop3-ssl-program-arguments
   '("s_client" "-quiet")
   "Arguments to be passed to the program `pop3-ssl-program-name'.")
@@ -165,7 +171,7 @@ Returns the process associated with the connection.
 Argument PORT specifies connecting port."
   (let (process)
     (save-excursion
-      (set-buffer (get-buffer-create (concat " trace of POP session to %s"
+      (set-buffer (get-buffer-create (concat " trace of POP session to "
                                             mailhost)))
       (erase-buffer)
       (setq pop3-read-point (point-min))
@@ -188,10 +194,7 @@ Argument PORT specifies connecting port."
 (defun pop3-open-ssl-stream-1 (name buffer host service extra-arg)
   (require 'path-util)
   (let* ((ssl-program-name
-         (cond ((exec-installed-p "openssl")
-                "openssl")
-               (t
-                "ssleay")))
+         pop3-ssl-program-name)
         (ssl-program-arguments
          `(,@pop3-ssl-program-arguments ,extra-arg
            "-connect" ,(format "%s:%d" host service)))
@@ -418,8 +421,9 @@ Return the response string if optional second argument RETURN is non-nil."
         (lambda (atom)
           (when (car (symbol-value atom))
             (insert (format "%s\n" atom))))
-        pop3-uidl-obarray)))))
-    
+        pop3-uidl-obarray)))
+    (fillarray pop3-uidl-obarray 0)))
+
 
 ;; The Command Set
 
@@ -541,14 +545,7 @@ and close the connection."
     (save-excursion
       (set-buffer (process-buffer process))
       (goto-char (point-max))
-      (delete-process process)
-      ))
-  (when pop3-leave-mail-on-server
-    (mapatoms
-     (lambda (atom)
-       (when (car (symbol-value atom))
-        (unintern atom pop3-uidl-obarray)))
-     pop3-uidl-obarray)))
+      (delete-process process))))
 
 (defun pop3-uidl (process &optional msgno)
   "Return the results of a UIDL command in PROCESS for optional MSGNO.