+2002-01-28  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-score.el (gnus-score-insert-help): Move
+       to (point-min). Don't split when the window is small, e.g. a small
+       *BBDB* window is the lowest one.
+
+       * gnus-agent.el (gnus-agent-retrieve-headers): Use
+       nnheader-find-nov-line to speed up. Use nreverse, because it is
+       sorted. Use nnheader-insert-nov-file.
+
 2002-01-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * mm-decode.el (mm-inline-text-html-with-images): New user option.
 
          (erase-buffer)
          (let ((nnheader-file-coding-system
                 gnus-agent-file-coding-system))
-           (nnheader-insert-file-contents file))
-         (goto-char (point-min))
+           (nnheader-insert-nov-file file (car articles)))
+         (nnheader-find-nov-line (car articles))
          (while (not (eobp))
            (when (looking-at "[0-9]")
              (push (read (current-buffer)) cached-articles))
            (forward-line 1))
-         (setq cached-articles (sort cached-articles '<))))
+         (setq cached-articles (nreverse cached-articles))))
       (if (setq uncached-articles
                (gnus-set-difference articles cached-articles))
          (progn
 
        (insert (format format (caar alist) (nth idx (car alist))))
        (setq alist (cdr alist))
        (setq i (1+ i))))
+    (goto-char (point-min))
     ;; display ourselves in a small window at the bottom
     (gnus-appt-select-lowest-window)
-    (split-window)
-    (pop-to-buffer "*Score Help*")
+    (if (< (/ (window-height) 2) window-min-height)
+       (switch-to-buffer "*Score Help*")
+      (split-window)
+      (pop-to-buffer "*Score Help*"))
     (let ((window-min-height 1))
       (shrink-window-if-larger-than-buffer))
     (select-window (gnus-get-buffer-window gnus-summary-buffer t))))