+2001-12-17  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
+       test for while loop to execute at least one SEARCH command.
+
 2001-12-15  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo-version.el (elmo-version): Up to 2.9.0.
 
        (imap-search-keys '("bcc" "body" "cc" "from" "subject" "to"))
        (total 0)
        (length (length from-msgs))
-       charset set-list results)
+       charset set-list end results)
     (message "Searching...")
     (cond
      ((string= "last" search-key)
       (setq search-key (concat "sent" search-key)
            set-list (elmo-imap4-make-number-set-list
                      from-msgs
-                     elmo-imap4-number-set-chop-length))
-      (while set-list
+                     elmo-imap4-number-set-chop-length)
+           end nil)
+      (while (not end)
        (setq results
              (append
               results
          (elmo-display-progress
           'elmo-imap4-search "Searching..."
           (/ (* total 100) length)))
-       (setq set-list (cdr set-list)))
+       (setq set-list (cdr set-list)
+             end (null set-list)))
       results)
      (t
       (setq charset
               (elmo-filter-value filter)))
            set-list (elmo-imap4-make-number-set-list
                      from-msgs
-                     elmo-imap4-number-set-chop-length))
-      (while set-list
+                     elmo-imap4-number-set-chop-length)
+           end nil)
+      (while (not end)
        (setq results
              (append
               results
          (elmo-display-progress
           'elmo-imap4-search "Searching..."
           (/ (* total 100) length)))
-       (setq set-list (cdr set-list)))
+       (setq set-list (cdr set-list)
+             end (null set-list)))
       results))))
 
 (defun elmo-imap4-search-internal (folder session condition from-msgs)