* gnus-score.el (gnus-score-orphans): Clean up.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sun, 1 Apr 2001 22:18:52 +0000 (22:18 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sun, 1 Apr 2001 22:18:52 +0000 (22:18 +0000)
* gnus-win.el (gnus-remove-some-windows): Leave one Gnus window.

* gnus-sum.el (gnus-summary-exit): Kill the summary buffer a bit
later.

* gnus-start.el (gnus-close-all-servers): Find the right items to
close.

* qp.el (quoted-printable-decode-region): Just message
malformation; don't quit.

lisp/gnus-score.el
lisp/gnus-sum.el
lisp/gnus-win.el
lisp/qp.el

index f0fa495..d7f457d 100644 (file)
@@ -1521,21 +1521,19 @@ A root is an article with no references.  An orphan is an article
 which has references, but is not connected via its references to a
 root article.  This function finds all the orphans, and adjusts their
 score in GNUS-NEWSGROUP-SCORED by SCORE."
-  (let ((threads (gnus-make-threads)))
-    ;; gnus-make-threads produces a list, where each entry is a "thread"
-    ;; as described in the gnus-score-lower-thread docs.  This function
-    ;; will be called again (after limiting has been done) if the display
-    ;; is threaded.  It would be nice to somehow save this info and use
-    ;; it later.
-    (while threads
-      (let* ((thread (car threads))
-            (id (aref (car thread) gnus-score-index)))
-       ;; If the parent of the thread is not a root, lower the score of
-       ;; it and its descendants.  Note that some roots seem to satisfy
-       ;; (eq id nil) and some (eq id "");  not sure why.
-       (if (and id (not (string= id "")))
-           (gnus-score-lower-thread thread score)))
-      (setq threads (cdr threads)))))
+  ;; gnus-make-threads produces a list, where each entry is a "thread"
+  ;; as described in the gnus-score-lower-thread docs.  This function
+  ;; will be called again (after limiting has been done) if the display
+  ;; is threaded.  It would be nice to somehow save this info and use
+  ;; it later.
+  (dolist (thread (gnus-make-threads))
+    (let ((id (aref (car thread) gnus-score-index)))
+      ;; If the parent of the thread is not a root, lower the score of
+      ;; it and its descendants.  Note that some roots seem to satisfy
+      ;; (eq id nil) and some (eq id "");  not sure why.
+      (when (and id
+                (not (string= id "")))
+       (gnus-score-lower-thread thread score)))))
 
 (defun gnus-score-integer (scores header now expire &optional trace)
   (let ((gnus-score-index (nth 1 (assoc header gnus-header-index)))
index b7b4b30..9a44889 100644 (file)
@@ -5705,7 +5705,9 @@ If FORCE (the prefix), also save the .newsrc file(s)."
        (setq gnus-article-current nil))
       (set-buffer buf)
       (if (not gnus-kill-summary-on-exit)
-         (gnus-deaden-summary)
+         (progn
+           (gnus-deaden-summary)
+           (setq mode nil))
        ;; We set all buffer-local variables to nil.  It is unclear why
        ;; this is needed, but if we don't, buffer-local variables are
        ;; not garbage-collected, it seems.  This would the lead to en
@@ -5720,10 +5722,7 @@ If FORCE (the prefix), also save the .newsrc file(s)."
        (set-buffer gnus-group-buffer)
        (gnus-summary-clear-local-variables)
        (let ((gnus-summary-local-variables gnus-newsgroup-variables))
-         (gnus-summary-clear-local-variables))
-       ;; Return to group mode buffer.
-       (when (eq mode 'gnus-summary-mode)
-         (gnus-kill-buffer buf)))
+         (gnus-summary-clear-local-variables)))
       (setq gnus-current-select-method gnus-select-method)
       (pop-to-buffer gnus-group-buffer)
       (if (not quit-config)
@@ -5731,6 +5730,9 @@ If FORCE (the prefix), also save the .newsrc file(s)."
            (goto-char group-point)
            (gnus-configure-windows 'group 'force))
        (gnus-handle-ephemeral-exit quit-config))
+      ;; Return to group mode buffer.
+      (when (eq mode 'gnus-summary-mode)
+       (gnus-kill-buffer buf))
       ;; Clear the current group name.
       (unless quit-config
        (setq gnus-newsgroup-name nil)))))
index de17928..dcdd179 100644 (file)
@@ -548,7 +548,8 @@ should have point."
        (if (featurep 'xemacs)
            (switch-to-buffer nntp-server-buffer)
          (set-buffer nntp-server-buffer)))
-      (mapcar (lambda (b) (delete-windows-on b t)) bufs))))
+      (mapcar (lambda (b) (delete-windows-on b t))
+             (delq lowest-buf bufs)))))
 
 (provide 'gnus-win)
 
index 697de6c..9875a0b 100644 (file)
@@ -68,7 +68,7 @@ coding-system."
                   ;;  (backward-char))
                   ))
                (t
-                (error "Malformed quoted-printable text")
+                (message "Malformed quoted-printable text")
                 (forward-char)))))
       (if coding-system
          (mm-decode-coding-region (point-min) (point-max) coding-system)))))