Merge changes made in Gnus trunk.
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 21 Feb 2011 13:29:15 +0000 (13:29 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 21 Feb 2011 13:29:15 +0000 (13:29 +0000)
gnus.texi (Window Layout): Document layout names.
nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
 (nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer.  This fixes an NNTP hang for some users.
netrc.el (netrc-parse): Comment fix.
gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer.  This avoids putting the point in the group buffer if you `C-g' the command.
auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
nnfolder.el (copyright-update): Define for the compiler.
auth-source.el (auth-source-search): Fix unbound variable.

doc/misc/ChangeLog
doc/misc/gnus.texi
lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/auth-source.el
lisp/gnus/gnus-start.el
lisp/gnus/gnus-sum.el
lisp/gnus/nnfolder.el
lisp/gnus/nntp.el
lisp/net/netrc.el

index 8906c53..7d32b16 100644 (file)
@@ -1,3 +1,7 @@
+2011-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Window Layout): Document layout names.
+
 2011-02-19  Eli Zaretskii  <eliz@gnu.org>
 
        * ada-mode.texi: Sync @dircategory with ../../info/dir.
index 5aa66de..d40522a 100644 (file)
@@ -22823,6 +22823,81 @@ window is displayed vertically next to another window, you may also want
 to fiddle with @code{gnus-tree-minimize-window} to avoid having the
 windows resized.
 
+@subsection Window Configuration Names
+
+Here's a list of most of the currently known window configurations,
+and when they're used:
+
+@itemize @code
+@item group
+The group buffer.
+
+@item summary
+Entering a group and showing only the summary.
+
+@item article
+Selecting an article.
+
+@item server
+The server buffer.
+
+@item browse
+Browsing groups from the server buffer.
+
+@item message
+Composing a (new) message.
+
+@item only-article
+Showing only the article buffer.
+
+@item edit-article
+Editing an article.
+
+@item edit-form
+Editing group parameters and the like.
+
+@item edit-score
+Editing a server definition.
+
+@item post
+Composing a news message.
+
+@item reply
+Replying or following up an article without yanking the text.
+
+@item forward
+Forwarding a message.
+
+@item reply-yank
+Replying or following up an article with yanking the text.
+
+@item mail-bound
+Bouncing a message.
+
+@item pipe
+Sending an article to an external process.
+
+@item bug
+Sending a bug report.
+
+@item score-trace
+Displaying the score trace.
+
+@item score-words
+Displaying the score words.
+
+@item split-trace
+Displaying the split trace.
+
+@item compose-bounce
+Composing a bounce message.
+
+@item mml-preview
+Previewing a @acronym{MIME} part.
+
+@end itemize
+
+
 @subsection Example Window Configurations
 
 @itemize @bullet
index 4c09a79..20514a0 100644 (file)
@@ -1,3 +1,7 @@
+2011-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * net/netrc.el (netrc-parse): Comment fix.
+
 2011-02-21  Chong Yidong  <cyd@stupidchicken.com>
 
        * color.el (color-name-to-rgb): Rename from color-rgb->normalize.
index a4bbfbf..ff48920 100644 (file)
@@ -4,6 +4,30 @@
        color-rgb-to-hex, color-name-to-rgb, color-srgb-to-lab, and
        color-lab-to-srgb.
 
+2011-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the
+       given method as in the group name if we're using an extended method.
+       (nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE
+       command, if we're using that, instead of waiting for the beginning.
+
+       * gnus-start.el (gnus-get-unread-articles): Extend the methods so that
+       we're sure to get unique server names, and we don't output two async
+       commands in the same buffer.  This fixes an NNTP hang for some users.
+
+2011-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the
+       summary buffer before reading going to the next buffer.  This avoids
+       putting the point in the group buffer if you `C-g' the command.
+
+       * auth-source.el (auth-source-netrc-parse): Add an in-memory netrc
+       cache (for now) to make ~/.authinfo.gpg files usable.
+
+       * nnfolder.el (copyright-update): Define for the compiler.
+
+       * auth-source.el (auth-source-search): Fix unbound variable.
+
 2011-02-19  Glenn Morris  <rgm@gnu.org>
 
        * gnus.el (gnus-meta): Doc fix.
index c2f57ab..e033b01 100644 (file)
@@ -500,7 +500,7 @@ must call it to obtain the actual value."
                      unless (memq (nth i spec) ignored-keys)
                      collect (nth i spec)))
          (found (auth-source-recall spec))
-         filtered-backends accessor-key found-here goal matches)
+         filtered-backends accessor-key found-here goal matches backend)
 
     (if (and found auth-source-do-cache)
         (auth-source-do-debug
@@ -680,6 +680,8 @@ while \(:host t) would find all host entries."
 
 ;;; Backend specific parsing: netrc/authinfo backend
 
+(defvar auth-source-netrc-cache nil)
+
 ;;; (auth-source-netrc-parse "~/.authinfo.gpg")
 (defun* auth-source-netrc-parse (&rest
                                  spec
@@ -698,7 +700,19 @@ Note that the MAX parameter is used so we can exit the parse early."
               (max (or max 5000))       ; sanity check: default to stop at 5K
               (modified 0)
               alist elem result pair)
-          (insert-file-contents file)
+         (if (and auth-source-netrc-cache
+                  (equal (car auth-source-netrc-cache)
+                         (nth 5 (file-attributes file))))
+             (insert (base64-decode-string
+                      (rot13-string (cdr auth-source-netrc-cache))))
+           (insert-file-contents file)
+           (when (string-match "\\.gpg\\'" file)
+             ;; Store the contents of the file heavily encrypted in memory.
+             (setq auth-source-netrc-cache
+                   (cons (nth 5 (file-attributes file))
+                         (rot13-string
+                          (base64-encode-string
+                           (buffer-string)))))))
           (goto-char (point-min))
           ;; Go through the file, line by line.
           (while (and (not (eobp))
index b493a93..e5e2468 100644 (file)
@@ -1675,7 +1675,20 @@ If SCAN, request a scan of that group as well."
                (lambda (c1 c2)
                  (< (gnus-method-rank (cadr c1) (car c1))
                     (gnus-method-rank (cadr c2) (car c2))))))
-
+    ;; Go through the list of servers and possibly extend methods that
+    ;; aren't equal (and that need extension; i.e., they are async).
+    (let ((methods nil))
+      (dolist (elem type-cache)
+       (destructuring-bind (method method-type infos dummy) elem
+         (let ((gnus-opened-servers methods))
+           (when (and (gnus-similar-server-opened method)
+                      (gnus-check-backend-function
+                       'retrieve-group-data-early (car method)))
+             (setq method (gnus-server-extend-method
+                           (gnus-info-group (car infos))
+                           method))
+             (setcar elem method))
+           (push (list method 'ok) methods)))))
     ;; Start early async retrieval of data.
     (dolist (elem type-cache)
       (destructuring-bind (method method-type infos dummy) elem
index 619c8bd..789308c 100644 (file)
@@ -7734,6 +7734,7 @@ If BACKWARD, the previous article is selected instead of the next."
          (point
           (with-current-buffer gnus-group-buffer
             (point)))
+         (current-summary (current-buffer))
          (group
           (if (eq gnus-keep-same-level 'best)
               (gnus-summary-best-group gnus-newsgroup-name)
@@ -7758,6 +7759,10 @@ If BACKWARD, the previous article is selected instead of the next."
          (gnus-summary-next-group nil group backward)))
        (t
        (when (gnus-key-press-event-p last-input-event)
+         ;; Somehow or other, we may now have selected a different
+         ;; window.  Make point go back to the summary buffer.
+         (when (eq current-summary (current-buffer))
+           (select-window (get-buffer-window current-summary)))
          (gnus-summary-walk-group-buffer
           gnus-newsgroup-name cmd unread backward point))))))))
 
index c6b4c08..3ec3041 100644 (file)
@@ -1083,6 +1083,8 @@ This command does not work if you use short group names."
         (or nnfolder-nov-directory nnfolder-directory)))
     (concat (nnfolder-group-pathname group) nnfolder-nov-file-suffix)))
 
+(defvar copyright-update)
+
 (defun nnfolder-save-buffer ()
   "Save the buffer."
   (when (buffer-modified-p)
index 0fc3855..09ecfb8 100644 (file)
@@ -808,7 +808,11 @@ command whose response triggered the error."
                      (progn
                        (goto-char last-point)
                        ;; Count replies.
-                       (while (re-search-forward "^[0-9]" nil t)
+                       (while (re-search-forward
+                               (if nntp-server-list-active-group
+                                   "^[.]"
+                                 "^[0-9]")
+                               nil t)
                          (incf received))
                        (setq last-point (point))
                        (< received count)))
@@ -828,8 +832,13 @@ command whose response triggered the error."
                             (progn (forward-line 1) (point))))
            (nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max))
            (with-current-buffer nntp-server-buffer
-             (gnus-active-to-gnus-format method gnus-active-hashtb
-                                         nil t))))))))
+             (gnus-active-to-gnus-format
+              ;; Kludge to use the extended method name if you have
+              ;; an extended one.
+              (if (consp (gnus-info-method (car infos)))
+                  (gnus-info-method (car infos))
+                method)
+              gnus-active-hashtb nil t))))))))
 
 (deffoo nntp-retrieve-groups (groups &optional server)
   "Retrieve group info on GROUPS."
index 59e9eab..b04863b 100644 (file)
              alist elem result pair)
           (if (and netrc-cache
                   (equal (car netrc-cache) (nth 5 (file-attributes file))))
-             ;; Store the contents of the file heavily encrypted in memory.
              (insert (base64-decode-string (rot13-string (cdr netrc-cache))))
            (insert-file-contents file)
            (when (string-match "\\.gpg\\'" file)
+             ;; Store the contents of the file heavily encrypted in memory.
              (setq netrc-cache (cons (nth 5 (file-attributes file))
                                      (rot13-string
                                       (base64-encode-string