emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103283: Merge changes made in Gnus trunk.
Date: Tue, 15 Feb 2011 11:24:37 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103283
author: Gnus developers <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2011-02-15 11:24:37 +0000
message:
  Merge changes made in Gnus trunk.
  
  auth.texi (Help for users): Login collection is "Login" and not "login".
  gnus-sum.el (gnus-propagate-marks): Default to nil.
   (gnus-summary-exit): Kill the correct article buffer on exit from a `C-d' 
group.
  gnus-start.el (gnus-use-backend-marks): Removed, since it duplicates 
gnus-propagate-marks.
  gnus-sum.el (gnus-summary-exit-no-update): Restore the group conf before 
killing the buffers so that a non-full window conf gets handled correctly.
   (gnus-summary-exit): Ditto.
   (gnus-summary-read-group-1): Ditto.
  nntp.el (nntp-retrieve-group-data-early): Reinstate the two-part async code 
again so that we can debug it properly.
  message.el (message-reply): Take an optional switch-buffer parameter so that 
Gnus window confs are respected better.
  auth-source.el (auth-source-secrets-search): Use `delete-dups', `append 
mapcar', and `butlast' instead of `remove-duplicates', `mapcan', and `subseq'.
   (auth-sources, auth-source-backend-parse, auth-source-secrets-search): Login 
collection is "Login" and not "login".
  gnus-art.el (article-update-date-lapsed): Don't bug out when updating 
multiple headers.
modified:
  doc/misc/ChangeLog
  doc/misc/auth.texi
  lisp/gnus/ChangeLog
  lisp/gnus/auth-source.el
  lisp/gnus/gnus-art.el
  lisp/gnus/gnus-msg.el
  lisp/gnus/gnus-start.el
  lisp/gnus/gnus-sum.el
  lisp/gnus/message.el
  lisp/gnus/nntp.el
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2011-02-15 04:53:29 +0000
+++ b/doc/misc/ChangeLog        2011-02-15 11:24:37 +0000
@@ -3,6 +3,10 @@
        Merge from gnulib.
        * texinfo.tex: Update to version 2011-02-14.11.
 
+2011-02-14  Teodor Zlatanov  <address@hidden>
+
+       * auth.texi (Help for users): Login collection is "Login" and not 
"login".
+
 2011-02-13  Michael Albinus  <address@hidden>
 
        * tramp.texi (History): Remove IMAP support.
@@ -21,7 +25,7 @@
 
        * sc.texi (Getting Connected): Remove old index entries.
 
-2011-02-12  Ulrich Mueller <address@hidden>
+2011-02-12  Ulrich Mueller  <address@hidden>
 
        * url.texi: Remove duplicate @dircategory (Bug#7942).
 

=== modified file 'doc/misc/auth.texi'
--- a/doc/misc/auth.texi        2011-02-13 00:25:29 +0000
+++ b/doc/misc/auth.texi        2011-02-15 11:24:37 +0000
@@ -161,8 +161,8 @@
 (setq auth-sources '((:source "~/.authinfo.gpg")))
 ;;; even shorter and the @emph{default}:
 (setq auth-sources '("~/.authinfo.gpg" "~/.authinfo"))
-;;; use the Secrets API @var{login} collection (@pxref{Secret Service API})
-(setq auth-sources '("secrets:login"))
+;;; use the Secrets API @var{Login} collection (@pxref{Secret Service API})
+(setq auth-sources '("secrets:Login"))
 @end lisp
 
 By adding multiple entries to @code{auth-sources} with a particular

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2011-02-14 12:24:43 +0000
+++ b/lisp/gnus/ChangeLog       2011-02-15 11:24:37 +0000
@@ -1,11 +1,39 @@
+2011-02-14  Lars Ingebrigtsen  <address@hidden>
+
+       * gnus-sum.el (gnus-propagate-marks): Default to nil.
+       (gnus-summary-exit): Kill the correct article buffer on exit from a
+       `C-d' group.
+
+       * gnus-start.el (gnus-use-backend-marks): Removed, since it duplicates
+       gnus-propagate-marks.
+
+       * gnus-sum.el (gnus-summary-exit-no-update): Restore the group conf
+       before killing the buffers so that a non-full window conf gets handled
+       correctly.
+       (gnus-summary-exit): Ditto.
+       (gnus-summary-read-group-1): Ditto.
+
+       * nntp.el (nntp-retrieve-group-data-early): Reinstate the two-part
+       async code again so that we can debug it properly.
+
+       * message.el (message-reply): Take an optional switch-buffer parameter
+       so that Gnus window confs are respected better.
+
 2011-02-14  Teodor Zlatanov  <address@hidden>
 
        * auth-source.el (auth-source-backend-parse-parameters): Don't rely on
        `plist-get' to accept non-list parameters (XEmacs issue).  Fix
        docstring.
+       (auth-source-secrets-search): Use `delete-dups', `append mapcar', and
+       `butlast' instead of `remove-duplicates', `mapcan', and `subseq'.
+       (auth-sources, auth-source-backend-parse, auth-source-secrets-search):
+       Login collection is "Login" and not "login".
 
 2011-02-14  Lars Ingebrigtsen  <address@hidden>
 
+       * gnus-art.el (article-update-date-lapsed): Don't bug out when updating
+       multiple headers.
+
        * nnimap.el (nnimap-inhibit-logging): New variable.
        (nnimap-log-command): Don't log login commands.
 

=== modified file 'lisp/gnus/auth-source.el'
--- a/lisp/gnus/auth-source.el  2011-02-14 12:24:43 +0000
+++ b/lisp/gnus/auth-source.el  2011-02-15 11:24:37 +0000
@@ -173,7 +173,7 @@
                  (choice
                   (string :tag "Just a file")
                   (const :tag "Default Secrets API Collection" 'default)
-                  (const :tag "Login Secrets API Collection" "secrets:login")
+                  (const :tag "Login Secrets API Collection" "secrets:Login")
                   (const :tag "Temp Secrets API Collection" "secrets:session")
                   (list :tag "Source definition"
                         (const :format "" :value :source)
@@ -185,7 +185,7 @@
                                  (choice :tag "Collection to use"
                                          (string :tag "Collection name")
                                          (const :tag "Default" 'default)
-                                         (const :tag "Login" "login")
+                                         (const :tag "Login" "Login")
                                          (const
                                           :tag "Temporary" "session"))))
                         (repeat :tag "Extra Parameters" :inline t
@@ -252,19 +252,19 @@
 ;; (auth-source-pick t :host "any" :protocol 'imap :user "joe")
 ;; (setq auth-sources '((:source (:secrets default) :host t :protocol t :user 
"joe")
 ;;                   (:source (:secrets "session") :host t :protocol t :user 
"joe")
-;;                   (:source (:secrets "login") :host t :protocol t)
+;;                   (:source (:secrets "Login") :host t :protocol t)
 ;;                   (:source "~/.authinfo.gpg" :host t :protocol t)))
 
 ;; (setq auth-sources '((:source (:secrets default) :host t :protocol t :user 
"joe")
 ;;                   (:source (:secrets "session") :host t :protocol t :user 
"joe")
-;;                   (:source (:secrets "login") :host t :protocol t)
+;;                   (:source (:secrets "Login") :host t :protocol t)
 ;;                   ))
 
 ;; (setq auth-sources '((:source "~/.authinfo.gpg" :host t :protocol t)))
 
 ;; (auth-source-backend-parse "myfile.gpg")
 ;; (auth-source-backend-parse 'default)
-;; (auth-source-backend-parse "secrets:login")
+;; (auth-source-backend-parse "secrets:Login")
 
 (defun auth-source-backend-parse (entry)
   "Creates an auth-source-backend from an ENTRY in `auth-sources'."
@@ -307,10 +307,10 @@
                        "session")))
 
        ;; if the source is a symbol, we look for the alias named so,
-       ;; and if that alias is missing, we use "login"
+       ;; and if that alias is missing, we use "Login"
        (when (symbolp source)
          (setq source (or (secrets-get-alias (symbol-name source))
-                          "login")))
+                          "Login")))
 
        (auth-source-backend
         (format "Secrets API (%s)" source)
@@ -938,8 +938,8 @@
 ;;; (let ((auth-sources '(default))) (auth-source-search :max 1 :delete t))
 ;;; (let ((auth-sources '(default))) (auth-source-search :max 1))
 ;;; (let ((auth-sources '(default))) (auth-source-search))
-;;; (let ((auth-sources '("secrets:login"))) (auth-source-search :max 1))
-;;; (let ((auth-sources '("secrets:login"))) (auth-source-search :max 1 
:signon_realm "https://git.gnus.org/Git";))
+;;; (let ((auth-sources '("secrets:Login"))) (auth-source-search :max 1))
+;;; (let ((auth-sources '("secrets:Login"))) (auth-source-search :max 1 
:signon_realm "https://git.gnus.org/Git";))
 
 (defun* auth-source-secrets-search (&rest
                                     spec
@@ -957,23 +957,23 @@
 
 You'll get back all the properties of the token as a plist.
 
-Here's an example that looks for the first item in the 'login'
+Here's an example that looks for the first item in the 'Login'
 Secrets collection:
 
- \(let ((auth-sources '(\"secrets:login\")))
+ \(let ((auth-sources '(\"secrets:Login\")))
     (auth-source-search :max 1)
 
-Here's another that looks for the first item in the 'login'
+Here's another that looks for the first item in the 'Login'
 Secrets collection whose label contains 'gnus':
 
- \(let ((auth-sources '(\"secrets:login\")))
+ \(let ((auth-sources '(\"secrets:Login\")))
     (auth-source-search :max 1 :label \"gnus\")
 
-And this one looks for the first item in the 'login' Secrets
+And this one looks for the first item in the 'Login' Secrets
 collection that's a Google Chrome entry for the git.gnus.org site
-login:
+authentication tokens:
 
- \(let ((auth-sources '(\"secrets:login\")))
+ \(let ((auth-sources '(\"secrets:Login\")))
     (auth-source-search :max 1 :signon_realm \"https://git.gnus.org/Git\";))
 "
 
@@ -993,21 +993,23 @@
                             collect (nth i spec)))
          ;; build a search spec without the ignored keys
          ;; if a search key is nil or t (match anything), we skip it
-         (search-spec (mapcan (lambda (k) (if (or (null (plist-get spec k))
-                                             (eq t (plist-get spec k)))
-                                         nil
-                                       (list k (plist-get spec k))))
-                              search-keys))
+         (search-spec (apply 'append (mapcar
+                                      (lambda (k)
+                                        (if (or (null (plist-get spec k))
+                                                (eq t (plist-get spec k)))
+                                            nil
+                                          (list k (plist-get spec k))))
+                              search-keys)))
          ;; needed keys (always including host, login, protocol, and secret)
-         (returned-keys (remove-duplicates (append
-                                            '(:host :login :protocol :secret)
-                                            search-keys)))
+         (returned-keys (delete-dups (append
+                                      '(:host :login :protocol :secret)
+                                      search-keys)))
          (items (loop for item in (apply 'secrets-search-items coll 
search-spec)
                       unless (and (stringp label)
                                   (not (string-match label item)))
                       collect item))
          ;; TODO: respect max in `secrets-search-items', not after the fact
-         (items (subseq items 0 (min (length items) max)))
+         (items (butlast items (- (length items) max)))
          ;; convert the item name to a full plist
          (items (mapcar (lambda (item)
                           (append
@@ -1017,18 +1019,20 @@
                             (lexical-let ((v (secrets-get-secret coll item)))
                               (lambda () v)))
                            ;; rewrite the entry from ((k1 v1) (k2 v2)) to plist
-                           (mapcan (lambda (entry)
-                                     (list (car entry) (cdr entry)))
-                                   (secrets-get-attributes coll item))))
+                           (apply 'append
+                                  (mapcar (lambda (entry)
+                                            (list (car entry) (cdr entry)))
+                                          (secrets-get-attributes coll 
item)))))
                         items))
          ;; ensure each item has each key in `returned-keys'
          (items (mapcar (lambda (plist)
                           (append
-                           (mapcan (lambda (req)
-                                     (if (plist-get plist req)
-                                         nil
-                                       (list req nil)))
-                                   returned-keys)
+                           (apply 'append
+                                  (mapcar (lambda (req)
+                                            (if (plist-get plist req)
+                                                nil
+                                              (list req nil)))
+                                          returned-keys))
                            plist))
                         items)))
     items))

=== modified file 'lisp/gnus/gnus-art.el'
--- a/lisp/gnus/gnus-art.el     2011-02-14 04:23:59 +0000
+++ b/lisp/gnus/gnus-art.el     2011-02-15 11:24:37 +0000
@@ -3641,10 +3641,11 @@
                 (let ((type (get-text-property (match-beginning 0)
                                                'gnus-date-type)))
                   (when (memq type '(lapsed combined-lapsed user-format))
-                    (unless (= window-start
-                               (save-excursion
-                                 (forward-line 1)
-                                 (point)))
+                    (when (and window-start
+                               (not (= window-start
+                                       (save-excursion
+                                         (forward-line 1)
+                                         (point)))))
                       (setq window-start nil))
                     (save-excursion
                       (article-date-ut type t (match-beginning 0)))

=== modified file 'lisp/gnus/gnus-msg.el'
--- a/lisp/gnus/gnus-msg.el     2011-01-26 08:36:39 +0000
+++ b/lisp/gnus/gnus-msg.el     2011-02-15 11:24:37 +0000
@@ -1081,14 +1081,14 @@
              (gnus-summary-work-articles 1))))
   ;; Allow user to require confirmation before replying by mail to the
   ;; author of a news article (or mail message).
-  (when (or
-           (not (or (gnus-news-group-p gnus-newsgroup-name)
+  (when (or (not (or (gnus-news-group-p gnus-newsgroup-name)
                     gnus-confirm-treat-mail-like-news))
            (not (cond ((stringp gnus-confirm-mail-reply-to-news)
                        (string-match gnus-confirm-mail-reply-to-news
                                      gnus-newsgroup-name))
                       ((functionp gnus-confirm-mail-reply-to-news)
-                       (funcall gnus-confirm-mail-reply-to-news 
gnus-newsgroup-name))
+                       (funcall gnus-confirm-mail-reply-to-news
+                                gnus-newsgroup-name))
                       (t gnus-confirm-mail-reply-to-news)))
            (if (or wide very-wide)
                t ;; Ignore gnus-confirm-mail-reply-to-news for wide and very
@@ -1123,7 +1123,7 @@
            (insert headers))
          (goto-char (point-max)))
        (mml-quote-region (point) (point-max))
-       (message-reply nil wide)
+       (message-reply nil wide 'switch-to-buffer)
        (when yank
          (gnus-inews-yank-articles yank))
        (gnus-summary-handle-replysign)))))

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2011-02-03 23:43:22 +0000
+++ b/lisp/gnus/gnus-start.el   2011-02-15 11:24:37 +0000
@@ -380,13 +380,6 @@
   :group 'gnus-newsrc
   :type 'boolean)
 
-(defcustom gnus-use-backend-marks nil
-  "If non-nil, Gnus will store and retrieve marks from the backends.
-This means that marks will be stored both in .newsrc.eld and in
-the backend, and will slow operation down somewhat."
-  :group 'gnus-newsrc
-  :type 'boolean)
-
 (defcustom gnus-check-bogus-groups-hook nil
   "A hook run after removing bogus groups."
   :group 'gnus-start-server
@@ -1509,7 +1502,7 @@
       (gnus-activate-group (gnus-info-group info) nil t))
 
     ;; Allow backends to update marks,
-    (when gnus-use-backend-marks
+    (when gnus-propagate-marks
       (let ((method (inline (gnus-find-method-for-group
                             (gnus-info-group info)))))
        (when (gnus-check-backend-function 'request-marks (car method))

=== modified file 'lisp/gnus/gnus-sum.el'
--- a/lisp/gnus/gnus-sum.el     2011-02-10 22:43:21 +0000
+++ b/lisp/gnus/gnus-sum.el     2011-02-15 11:24:37 +0000
@@ -1234,9 +1234,11 @@
   :type 'boolean
   :group 'gnus-summary-marks)
 
-(defcustom gnus-propagate-marks t
-  "If non-nil, do not propagate marks to the backends."
-  :version "23.1" ;; No Gnus
+(defcustom gnus-propagate-marks nil
+  "If non-nil, Gnus will store and retrieve marks from the backends.
+This means that marks will be stored both in .newsrc.eld and in
+the backend, and will slow operation down somewhat."
+  :version "24.1"
   :type 'boolean
   :group 'gnus-summary-marks)
 
@@ -4067,6 +4069,7 @@
        ;; gnus-summary-prepare-hook since kill processing may not
        ;; work with hidden articles.
        (gnus-summary-maybe-hide-threads)
+       (gnus-configure-windows 'summary)
        (when kill-buffer
          (gnus-kill-or-deaden-summary kill-buffer))
        (gnus-summary-auto-select-subject)
@@ -4076,7 +4079,6 @@
                 gnus-newsgroup-unreads
                 gnus-auto-select-first)
            (progn
-             (gnus-configure-windows 'summary)
              (let ((art (gnus-summary-article-number)))
                (unless (and (not gnus-plugged)
                             (or (memq art gnus-newsgroup-undownloaded)
@@ -7168,6 +7170,7 @@
   (let* ((group gnus-newsgroup-name)
         (quit-config (gnus-group-quit-config gnus-newsgroup-name))
         (gnus-group-is-exiting-p t)
+        (article-buffer gnus-article-buffer)
         (mode major-mode)
         (group-point nil)
         (buf (current-buffer)))
@@ -7220,16 +7223,6 @@
        (when (eq mode 'gnus-summary-mode)
          (gnus-kill-buffer buf)))
 
-      ;; If we have several article buffers, we kill them at exit.
-      (unless gnus-single-article-buffer
-       (when (gnus-buffer-live-p gnus-article-buffer)
-         (with-current-buffer gnus-article-buffer
-           ;; Don't kill sticky article buffers
-           (unless (eq major-mode 'gnus-sticky-article-mode)
-             (gnus-kill-buffer gnus-article-buffer)
-             (setq gnus-article-current nil))))
-       (gnus-kill-buffer gnus-original-article-buffer))
-
       (setq gnus-current-select-method gnus-select-method)
       (set-buffer gnus-group-buffer)
       (if quit-config
@@ -7241,6 +7234,17 @@
          (if win (set-window-point win (point))))
        (unless leave-hidden
          (gnus-configure-windows 'group 'force)))
+
+      ;; If we have several article buffers, we kill them at exit.
+      (unless gnus-single-article-buffer
+       (when (gnus-buffer-live-p article-buffer)
+         (with-current-buffer article-buffer
+           ;; Don't kill sticky article buffers
+           (unless (eq major-mode 'gnus-sticky-article-mode)
+             (gnus-kill-buffer article-buffer)
+             (setq gnus-article-current nil))))
+       (gnus-kill-buffer gnus-original-article-buffer))
+
       ;; Clear the current group name.
       (unless quit-config
        (setq gnus-newsgroup-name nil)))))
@@ -7269,6 +7273,8 @@
        (gnus-kill-buffer gnus-article-buffer)
        (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)
        (gnus-close-group group)
@@ -7280,8 +7286,6 @@
       (gnus-async-prefetch-remove-group group)
       (when (get-buffer gnus-article-buffer)
        (bury-buffer gnus-article-buffer))
-      ;; Return to the group buffer.
-      (gnus-configure-windows 'group 'force)
       ;; Clear the current group name.
       (setq gnus-newsgroup-name nil)
       (unless (gnus-ephemeral-group-p group)

=== modified file 'lisp/gnus/message.el'
--- a/lisp/gnus/message.el      2011-02-10 19:35:35 +0000
+++ b/lisp/gnus/message.el      2011-02-15 11:24:37 +0000
@@ -6779,7 +6779,7 @@
   subject)
 
 ;;;###autoload
-(defun message-reply (&optional to-address wide)
+(defun message-reply (&optional to-address wide switch-function)
   "Start editing a reply to the article in the current buffer."
   (interactive)
   (require 'gnus-sum)                  ; for gnus-list-identifiers
@@ -6822,7 +6822,8 @@
       (message-pop-to-buffer
        (message-buffer-name
        (if wide "wide reply" "reply") from
-       (if wide to-address nil))))
+       (if wide to-address nil))
+       switch-function))
 
     (setq message-reply-headers
          (vector 0 subject from date message-id references 0 0 ""))

=== modified file 'lisp/gnus/nntp.el'
--- a/lisp/gnus/nntp.el 2011-02-13 00:25:29 +0000
+++ b/lisp/gnus/nntp.el 2011-02-15 11:24:37 +0000
@@ -774,7 +774,7 @@
         (nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max))
          'headers)))))
 
-(deffoo nntp-retrieve-group-data-early-disabled (server infos)
+(deffoo nntp-retrieve-group-data-early (server infos)
   "Retrieve group info on INFOS."
   (nntp-with-open-group nil server
     (when (nntp-find-connection-buffer nntp-server-buffer)
@@ -793,7 +793,7 @@
             nil command (gnus-group-real-name (gnus-info-group info)))))
        (length infos)))))
 
-(deffoo nntp-finish-retrieve-group-infos-disabled (server infos count)
+(deffoo nntp-finish-retrieve-group-infos (server infos count)
   (nntp-with-open-group nil server
     (let ((buf (nntp-find-connection-buffer nntp-server-buffer))
          (method (gnus-find-method-for-group
@@ -814,10 +814,7 @@
                        (< received count)))
            (nntp-accept-response))
          ;; We now have all the entries.  Remove CRs.
-         (goto-char (point-min))
-         (while (search-forward "\r" nil t)
-           (replace-match "" t t))
-
+         (nnheader-strip-cr)
          (if (not nntp-server-list-active-group)
              (progn
                (nntp-copy-to-buffer nntp-server-buffer
@@ -830,7 +827,9 @@
              (delete-region (match-beginning 0)
                             (progn (forward-line 1) (point))))
            (nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max))
-           (gnus-active-to-gnus-format method gnus-active-hashtb nil t)))))))
+           (with-current-buffer nntp-server-buffer
+             (gnus-active-to-gnus-format method gnus-active-hashtb
+                                         nil t))))))))
 
 (deffoo nntp-retrieve-groups (groups &optional server)
   "Retrieve group info on GROUPS."


reply via email to

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