emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r106806: Merge changes made in Gnus t


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106806: Merge changes made in Gnus trunk.
Date: Sat, 07 Jan 2012 01:13:52 +0000
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106806
author: Gnus developers <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Sat 2012-01-07 01:13:52 +0000
message:
  Merge changes made in Gnus trunk.
  
  2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
    * gnus.texi (Group Parameters): Really note precedence.
  2012-01-07  Lars Magne Ingebrigtsen  <address@hidden>
    * mm-decode.el (mm-interactively-view-part): Use `completing-read',
    since ido doesn't work on symbols (bug#9632).
    * gnus.el (gnus-group-fast-parameter): Use the same precedence rules
    when getting a single value as when getting all the values.  This means
    that atoms like `gcc-self' work cumulatively, like variable settings,
    instead of getting the value from the last matching clause.
    (gnus-group-find-parameter): Protect against the group buffer not
    existing (bug#9585).
  2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
    * gnus-start.el (gnus-activate-group): Document more parameters
    (bug#9694).
    * gnus-group.el (gnus-group-read-ephemeral-group): Doc clarification
    (bug#9692).
    * gnus-agent.el (gnus-agent-store-article): Tell the Agent when the
    article was fetched, so that it can be expired later (bug#9958).
    (gnus-agent-summary-fetch-series): Add doc string.
    (gnus-agent-summary-fetch-group): Don't remove tick and dormant marks
    (bug#9517).
    * nntp.el (nntp-retrieve-groups): Refuse to do retrieval when an async
    retrieval is happening.
    * gnus.el (gnus-parameters): Doc fix.
  2012-01-06  Dave Abrahams  <address@hidden>  (tiny change)
    * gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden,
    show the thread after expansion.
  2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
    * gnus-art.el (article-narrow-to-head): If the head is completely
    empty, narrow to the empty region (bug#9764).
    * gnus-sum.el (gnus-summary-mark-article-as-unread): Mark articles as
    read, and then mark them as unread only when the unread mark is used.
    This makes `C-- T k' actually work, even though it's confusing.
    * gnus-win.el (gnus-all-windows-visible-p): Ensure that the buffer is
    alive before we try to find its window.
  2012-01-06  Brian Sniffen  <address@hidden>  (tiny change)
    * mm-decode.el (mm-display-external): Use a longer timeout for the
    deletion to allow slow programs to display the file.
  2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
    * gnus-art.el (gnus-article-browse-delete-temp-files): Fix up the
    prompt to be less confusing.
modified:
  doc/misc/ChangeLog
  doc/misc/gnus.texi
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-agent.el
  lisp/gnus/gnus-art.el
  lisp/gnus/gnus-group.el
  lisp/gnus/gnus-int.el
  lisp/gnus/gnus-start.el
  lisp/gnus/gnus-sum.el
  lisp/gnus/gnus-win.el
  lisp/gnus/gnus.el
  lisp/gnus/mm-decode.el
  lisp/gnus/nntp.el
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-01-05 09:46:05 +0000
+++ b/doc/misc/ChangeLog        2012-01-07 01:13:52 +0000
@@ -1,3 +1,7 @@
+2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * gnus.texi (Group Parameters): Really note precedence.
+
 2012-01-04  Lars Magne Ingebrigtsen  <address@hidden>
 
        * gnus.texi (Group Parameters): Note precedence.

=== modified file 'doc/misc/gnus.texi'
--- a/doc/misc/gnus.texi        2012-01-05 09:46:05 +0000
+++ b/doc/misc/gnus.texi        2012-01-07 01:13:52 +0000
@@ -3180,14 +3180,17 @@
          (to-group . "\\1"))
 
         ("mail\\.me"
-         (gnus-use-scoring  t))
+         (gnus-use-scoring t))
 
         ("list\\..*"
          (total-expire . t)
          (broken-reply-to . t))))
 @end lisp
 
-The first clause that matches the group name will be used.
+All clauses that matches the group name will be used, but the last
+setting ``wins''.  So if you have two clauses that both match the
+group name, and both set, say @code{display}, the last setting will
+override the first.
 
 Parameters that are strings will be subjected to regexp substitution,
 as the @code{to-group} example shows.

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-01-06 05:48:48 +0000
+++ b/lisp/gnus/ChangeLog       2012-01-07 01:13:52 +0000
@@ -1,4 +1,60 @@
-2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
+2012-01-07  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * mm-decode.el (mm-interactively-view-part): Use `completing-read',
+       since ido doesn't work on symbols (bug#9632).
+
+       * gnus.el (gnus-group-fast-parameter): Use the same precedence rules
+       when getting a single value as when getting all the values.  This means
+       that atoms like `gcc-self' work cumulatively, like variable settings,
+       instead of getting the value from the last matching clause.
+       (gnus-group-find-parameter): Protect against the group buffer not
+       existing (bug#9585).
+
+2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * gnus-start.el (gnus-activate-group): Document more parameters
+       (bug#9694).
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Doc clarification
+       (bug#9692).
+
+       * gnus-agent.el (gnus-agent-store-article): Tell the Agent when the
+       article was fetched, so that it can be expired later (bug#9958).
+       (gnus-agent-summary-fetch-series): Add doc string.
+       (gnus-agent-summary-fetch-group): Don't remove tick and dormant marks
+       (bug#9517).
+
+       * nntp.el (nntp-retrieve-groups): Refuse to do retrieval when an async
+       retrieval is happening.
+
+       * gnus.el (gnus-parameters): Doc fix.
+
+2012-01-06  Dave Abrahams  <address@hidden>  (tiny change)
+
+       * gnus-sum.el (gnus-summary-refer-thread): If the subtree is hidden,
+       show the thread after expansion.
+
+2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * gnus-art.el (article-narrow-to-head): If the head is completely
+       empty, narrow to the empty region (bug#9764).
+
+       * gnus-sum.el (gnus-summary-mark-article-as-unread): Mark articles as
+       read, and then mark them as unread only when the unread mark is used.
+       This makes `C-- T k' actually work, even though it's confusing.
+
+       * gnus-win.el (gnus-all-windows-visible-p): Ensure that the buffer is
+       alive before we try to find its window.
+
+2012-01-06  Brian Sniffen  <address@hidden>  (tiny change)
+
+       * mm-decode.el (mm-display-external): Use a longer timeout for the
+       deletion to allow slow programs to display the file.
+
+2012-01-06  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * gnus-art.el (gnus-article-browse-delete-temp-files): Fix up the
+       prompt to be less confusing.
 
        * gnus-msg.el (gnus-summary-reply): Do not give a `switch-to-buffer'
        argument to `message-reply'.  This broke `special-display-*' frame

=== modified file 'lisp/gnus/gnus-agent.el'
--- a/lisp/gnus/gnus-agent.el   2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-agent.el   2012-01-07 01:13:52 +0000
@@ -1181,6 +1181,7 @@
     (gnus-summary-position-point)))
 
 (defun gnus-agent-summary-fetch-series ()
+  "Fetch the process-marked articles into the Agent."
   (interactive)
   (when gnus-newsgroup-processable
     (setq gnus-newsgroup-downloadable
@@ -1228,8 +1229,9 @@
             (cond (gnus-agent-mark-unread-after-downloaded
                    (setq gnus-newsgroup-downloadable
                          (delq article gnus-newsgroup-downloadable))
-
-                   (gnus-summary-mark-article article gnus-unread-mark))
+                  (when (and (not (member article gnus-newsgroup-dormant))
+                             (not (member article gnus-newsgroup-marked)))
+                    (gnus-summary-mark-article article gnus-unread-mark)))
                   (was-marked-downloadable
                    (gnus-summary-set-agent-mark article t)))
             (when (gnus-summary-goto-subject article nil t)
@@ -3888,7 +3890,12 @@
         (coding-system-for-write gnus-cache-coding-system))
     (when (not (file-exists-p file))
       (gnus-make-directory (file-name-directory file))
-      (write-region (point-min) (point-max) file nil 'silent))))
+      (write-region (point-min) (point-max) file nil 'silent)
+      ;; Tell the Agent when the article was fetched, so that it can
+      ;; be expired later.
+      (gnus-agent-load-alist group)
+      (gnus-agent-save-alist group (list article)
+                            (time-to-days (current-time))))))
 
 (defun gnus-agent-regenerate-group (group &optional reread)
   "Regenerate GROUP.

=== modified file 'lisp/gnus/gnus-art.el'
--- a/lisp/gnus/gnus-art.el     2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-art.el     2012-01-07 01:13:52 +0000
@@ -2785,10 +2785,11 @@
               (or how (setq how gnus-article-browse-delete-temp))
               (if (eq how 'ask)
                   (let ((files (length gnus-article-browse-html-temp-list)))
-                    (gnus-y-or-n-p (format
-                                    "Delete all %s temporary HTML file%s? "
-                                    files
-                                    (if (> files 1) "s" ""))))
+                    (gnus-y-or-n-p
+                     (if (= files 1)
+                         "Delete the temporary HTML file? "
+                       (format "Delete all %s temporary HTML files? "
+                               files))))
                 how)))
     (dolist (file gnus-article-browse-html-temp-list)
       (cond ((file-directory-p file)
@@ -3239,9 +3240,16 @@
 Point is left at the beginning of the narrowed-to region."
   (narrow-to-region
    (goto-char (point-min))
-   (if (search-forward "\n\n" nil 1)
-       (1- (point))
-     (point-max)))
+   (cond
+    ;; Absolutely no headers displayed.
+    ((looking-at "\n")
+     (point))
+    ;; Normal headers.
+    ((search-forward "\n\n" nil 1)
+     (1- (point)))
+    ;; Nothing but headers.
+    (t
+     (point-max))))
   (goto-char (point-min)))
 
 (defun article-goto-body ()

=== modified file 'lisp/gnus/gnus-group.el'
--- a/lisp/gnus/gnus-group.el   2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-group.el   2012-01-07 01:13:52 +0000
@@ -2277,8 +2277,8 @@
                                              number)
   "Read GROUP from METHOD as an ephemeral group.
 If ACTIVATE, request the group first.
-If QUIT-CONFIG, use that window configuration when exiting from the
-ephemeral group.
+If QUIT-CONFIG, use that Gnus window configuration name when
+exiting from the ephemeral group.
 If REQUEST-ONLY, don't actually read the group; just request it.
 If SELECT-ARTICLES, only select those articles.
 If PARAMETERS, use those as the group parameters.

=== modified file 'lisp/gnus/gnus-int.el'
--- a/lisp/gnus/gnus-int.el     2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-int.el     2012-01-07 01:13:52 +0000
@@ -396,7 +396,7 @@
     result))
 
 (defun gnus-request-compact (gnus-command-method)
-  "Request groups compaction  from GNUS-COMMAND-METHOD."
+  "Request groups compaction from GNUS-COMMAND-METHOD."
   (when (stringp gnus-command-method)
     (setq gnus-command-method (gnus-server-to-method gnus-command-method)))
   (funcall (gnus-get-function gnus-command-method 'request-compact)

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-start.el   2012-01-07 01:13:52 +0000
@@ -1451,7 +1451,11 @@
 (defun gnus-activate-group (group &optional scan dont-check method
                                  dont-sub-check)
   "Check whether a group has been activated or not.
-If SCAN, request a scan of that group as well."
+If SCAN, request a scan of that group as well.  If METHOD, use
+that select method instead of determining the method based on the
+group name.  If DONT-CHECK, don't check check whether the group
+actually exists.  If DONT-SUB-CHECK or DONT-CHECK, don't let the
+backend check whether the group actually exists."
   (let ((method (or method (inline (gnus-find-method-for-group group))))
        active)
     (and (inline (gnus-check-server method))

=== modified file 'lisp/gnus/gnus-sum.el'
--- a/lisp/gnus/gnus-sum.el     2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-sum.el     2012-01-07 01:13:52 +0000
@@ -9032,7 +9032,8 @@
               'gnus-article-sort-by-number)))
       (setq gnus-newsgroup-articles
            (gnus-sorted-nunion gnus-newsgroup-articles (nreverse article-ids)))
-      (gnus-summary-limit-include-thread id))))
+      (gnus-summary-limit-include-thread id)))
+  (gnus-summary-show-thread))
 
 (defun gnus-summary-refer-article (message-id)
   "Fetch an article specified by MESSAGE-ID."
@@ -10886,6 +10887,7 @@
        (setq gnus-newsgroup-dormant (delq article gnus-newsgroup-dormant))
        (setq gnus-newsgroup-expirable (delq article gnus-newsgroup-expirable))
        (setq gnus-newsgroup-reads (delq article gnus-newsgroup-reads))
+       (setq gnus-newsgroup-unreads (delq article gnus-newsgroup-unreads))
        (cond ((= mark gnus-ticked-mark)
               (setq gnus-newsgroup-marked
                     (gnus-add-to-sorted-list gnus-newsgroup-marked

=== modified file 'lisp/gnus/gnus-win.el'
--- a/lisp/gnus/gnus-win.el     2012-01-05 09:46:05 +0000
+++ b/lisp/gnus/gnus-win.el     2012-01-07 01:13:52 +0000
@@ -464,6 +464,7 @@
        (unless buffer
          (error "Invalid buffer type: %s" type))
        (if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer)))
+                (buffer-live-p buf)
                 (setq win (gnus-get-buffer-window buf t)))
            (if (memq 'point split)
                (setq all-visible win))

=== modified file 'lisp/gnus/gnus.el'
--- a/lisp/gnus/gnus.el 2012-01-04 22:14:09 +0000
+++ b/lisp/gnus/gnus.el 2012-01-07 01:13:52 +0000
@@ -1146,9 +1146,7 @@
                  (display . all))
      (\"mail\\\\.me\" (gnus-use-scoring  t))
      (\"list\\\\..*\" (total-expire . t)
-                 (broken-reply-to . t)))
-
-The first clause that matches the group name will be used."
+                 (broken-reply-to . t)))"
   :version "22.1"
   :group 'gnus-group-various
   :type '(repeat (cons regexp
@@ -3862,13 +3860,14 @@
          ;; The car is regexp matching for matching the group name.
          (when (string-match (car head) group)
            ;; The cdr is the parameters.
-           (setq result (gnus-group-parameter-value (cdr head)
-                                                    symbol allow-list))
-           (when result
-             ;; Expand if necessary.
-             (if (and (stringp result) (string-match "\\\\[0-9&]" result))
-                 (setq result (gnus-expand-group-parameter (car head)
-                                                           result group))))))
+           (let ((this-result
+                  (gnus-group-parameter-value (cdr head) symbol allow-list t)))
+             (when this-result
+               (setq result (car this-result))
+               ;; Expand if necessary.
+               (if (and (stringp result) (string-match "\\\\[0-9&]" result))
+                   (setq result (gnus-expand-group-parameter
+                                 (car head) result group)))))))
        ;; Done.
        result))))
 
@@ -3878,7 +3877,9 @@
 
 If you call this function inside a loop, consider using the faster
 `gnus-group-fast-parameter' instead."
-  (with-current-buffer gnus-group-buffer
+  (with-current-buffer (if (buffer-live-p gnus-group-buffer)
+                          gnus-group-buffer
+                        (current-buffer))
     (if symbol
        (gnus-group-fast-parameter group symbol allow-list)
       (nconc

=== modified file 'lisp/gnus/mm-decode.el'
--- a/lisp/gnus/mm-decode.el    2012-01-04 22:14:09 +0000
+++ b/lisp/gnus/mm-decode.el    2012-01-07 01:13:52 +0000
@@ -942,7 +942,7 @@
                          ;; In particular, the timer object (which is
                          ;; a vector in Emacs but is a list in XEmacs)
                          ;; requires that it is lexically scoped.
-                         (timer (run-at-time 2.0 nil 'ignore)))
+                         (timer (run-at-time 30.0 nil 'ignore)))
                       (if (featurep 'xemacs)
                           (lambda (process state)
                             (when (eq 'exit (process-status process))
@@ -1353,7 +1353,7 @@
                  (mailcap-mime-info type 'all)))
         (method (let ((minibuffer-local-completion-map
                        mm-viewer-completion-map))
-                  (gnus-completing-read "Viewer" methods))))
+                  (completing-read "Viewer" methods))))
     (when (string= method "")
       (error "No method given"))
     (if (string-match "^[^% \t]+$" method)

=== modified file 'lisp/gnus/nntp.el'
--- a/lisp/gnus/nntp.el 2012-01-04 10:49:38 +0000
+++ b/lisp/gnus/nntp.el 2012-01-07 01:13:52 +0000
@@ -847,7 +847,14 @@
   "Retrieve group info on GROUPS."
   (nntp-with-open-group
    nil server
-   (when (nntp-find-connection-buffer nntp-server-buffer)
+   (when (and (nntp-find-connection-buffer nntp-server-buffer)
+             (with-current-buffer
+                 (nntp-find-connection-buffer nntp-server-buffer)
+               (if (not nntp-retrieval-in-progress)
+                   t
+                 (message "Warning: Refusing to do retrieval from %s because a 
retrieval is already happening"
+                          server)
+                 nil)))
      (catch 'done
        (save-excursion
          ;; Erase nntp-server-buffer before nntp-inhibit-erase.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]