Don't prompt for unexisting articles
[gnus] / lisp / gnus-sum.el
index c04bf7a..8c5f3ee 100644 (file)
@@ -2082,7 +2082,7 @@ increase the score of each group you read."
   "g" gnus-summary-show-article
   "s" gnus-summary-isearch-article
   [tab] gnus-summary-widget-forward
-  [backtab] gnus-summary-widget-forward
+  [backtab] gnus-summary-widget-backward
   "P" gnus-summary-print-article
   "S" gnus-sticky-article
   "M" gnus-mailing-list-insinuate
@@ -5674,7 +5674,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
        (setq gnus-newsgroup-unselected
              (gnus-sorted-difference gnus-newsgroup-unreads articles))
       (setq articles (gnus-articles-to-read group read-all)))
-
+    
     (cond
      ((null articles)
       ;;(gnus-message 3 "Couldn't select newsgroup -- no articles to display")
@@ -5813,6 +5813,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
   "Find out what articles the user wants to read."
   (let* ((only-read-p t)
         (articles
+         (gnus-list-range-difference
          ;; Select all articles if `read-all' is non-nil, or if there
          ;; are no unread articles.
          (if (or read-all
@@ -5839,7 +5840,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
            (setq only-read-p nil)
            (gnus-sorted-nunion
             (gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked)
-            gnus-newsgroup-unreads)))
+            gnus-newsgroup-unreads))
+         (cdr (assq 'unexist (gnus-info-marks (gnus-get-info group))))))
         (scored-list (gnus-killed-articles gnus-newsgroup-killed articles))
         (scored (length scored-list))
         (number (length articles))
@@ -7330,9 +7332,11 @@ If FORCE (the prefix), also save the .newsrc file(s)."
        (gnus-kill-buffer gnus-original-article-buffer)
        (setq gnus-article-current nil))
       ;; Return to the group buffer.
-      (gnus-configure-windows 'group 'force)
       (if (not gnus-kill-summary-on-exit)
-         (gnus-deaden-summary)
+         (progn
+           (gnus-deaden-summary)
+           (gnus-configure-windows 'group 'force))
+       (gnus-configure-windows 'group 'force)
        (gnus-close-group group)
        (gnus-kill-buffer gnus-summary-buffer))
       (unless gnus-single-article-buffer
@@ -7354,7 +7358,7 @@ If FORCE (the prefix), also save the .newsrc file(s)."
 (defun gnus-handle-ephemeral-exit (quit-config)
   "Handle movement when leaving an ephemeral group.
 The state which existed when entering the ephemeral is reset."
-  (if (not (buffer-name (car quit-config)))
+  (if (not (buffer-live-p (car quit-config)))
       (gnus-configure-windows 'group 'force)
     (set-buffer (car quit-config))
     (unless (eq (cdr quit-config) 'group)
@@ -11592,6 +11596,7 @@ Returns nil if no thread was there to be shown."
         (beg (progn (beginning-of-line) (if (bobp) (point) (1- (point)))))
         (eoi (when end
                (if (fboundp 'next-single-char-property-change)
+                   ;; Note: XEmacs version of n-s-c-p-c may return nil
                    (or (next-single-char-property-change end 'invisible)
                        (point-max))
                  (while (progn
@@ -12866,6 +12871,7 @@ If ALL is a number, fetch this number of articles."
                        (gnus-group-decoded-name gnus-newsgroup-name)
                        (if initial "max" "default")
                        len)
+                      nil nil
                       (if initial
                           (cons (number-to-string initial)
                                 0)))))