changeset 111312:0c7c9736f766

Merge changes made in Gnus trunk. nnimap.el (nnimap-parse-line): Don't bug out oddly formed replies (bug #7311). gnus-cite.el (gnus-article-fill-cited-article): Minimize the long-lines case by only filling the long lines. gnus-start.el (gnus-ask-server-for-new-groups): Return the new groups. gnus-group.el (gnus-group-find-new-groups): Display all the new groups. gnus-start.el (gnus-find-new-newsgroups): Return the list of new groups. nnimap.el (nnimap-request-group): Store the new updated info. nnimap.el (nnimap-request-group): Select the group when we don't know whether it exists or not.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 01 Nov 2010 22:21:10 +0000
parents cf216ba9dc87
children 1d510dd4f336
files lisp/gnus/ChangeLog lisp/gnus/gnus-cite.el lisp/gnus/gnus-group.el lisp/gnus/gnus-start.el lisp/gnus/nnimap.el
diffstat 5 files changed, 52 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Mon Nov 01 11:18:42 2010 -0400
+++ b/lisp/gnus/ChangeLog	Mon Nov 01 22:21:10 2010 +0000
@@ -1,3 +1,24 @@
+2010-11-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* nnimap.el (nnimap-request-group): Store the new updated info.
+	(nnimap-request-group): Select the group when we don't know whether it
+	exists or not.
+
+	* gnus-start.el (gnus-ask-server-for-new-groups): Return the new
+	groups.
+
+	* gnus-group.el (gnus-group-find-new-groups): Display all the new
+	groups.
+
+	* gnus-start.el (gnus-find-new-newsgroups): Return the list of new
+	groups.
+
+	* gnus-cite.el (gnus-article-fill-cited-article): Minimize the
+	long-lines case by only filling the long lines.
+
+	* nnimap.el (nnimap-parse-line): Don't bug out oddly formed replies
+	(bug #7311).
+
 2010-11-01  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* shr.el: No need to declare `declare-function' since shr.el is for
--- a/lisp/gnus/gnus-cite.el	Mon Nov 01 11:18:42 2010 -0400
+++ b/lisp/gnus/gnus-cite.el	Mon Nov 01 22:21:10 2010 +0000
@@ -545,7 +545,16 @@
 	    (unless do-fill
 	      (setq do-fill (gnus-article-foldable-buffer (cdar marks))))
 	    (when do-fill
-	      (fill-region (point-min) (point-max))))
+	      (if (not long-lines)
+		  (fill-region (point-min) (point-max))
+		(goto-char (point-min))
+		(while (not (eobp))
+		  (end-of-line)
+		  (when (> (current-column) (frame-width))
+		    (save-restriction
+		      (narrow-to-region (line-beginning-position) (point))
+		      (fill-region (point-min) (point-max))))
+		  (forward-line 1)))))
 	  (set-marker (caar marks) nil)
 	  (setq marks (cdr marks)))
 	(when marks
--- a/lisp/gnus/gnus-group.el	Mon Nov 01 11:18:42 2010 -0400
+++ b/lisp/gnus/gnus-group.el	Mon Nov 01 22:21:10 2010 +0000
@@ -4186,8 +4186,14 @@
 With 2 C-u's, use most complete method possible to query the server
 for new groups, and subscribe the new groups as zombies."
   (interactive "p")
-  (gnus-find-new-newsgroups (or arg 1))
-  (gnus-group-list-groups))
+  (let ((new-groups (gnus-find-new-newsgroups (or arg 1)))
+	current-group)
+    (gnus-group-list-groups)
+    (setq current-group (gnus-group-group-name))
+    (dolist (group new-groups)
+      (gnus-group-jump-to-group group))
+    (when current-group
+      (gnus-group-jump-to-group current-group))))
 
 (defun gnus-group-edit-global-kill (&optional article group)
   "Edit the global kill file.
--- a/lisp/gnus/gnus-start.el	Mon Nov 01 11:18:42 2010 -0400
+++ b/lisp/gnus/gnus-start.el	Mon Nov 01 22:21:10 2010 +0000
@@ -1145,7 +1145,8 @@
         (if (> groups 0)
             (gnus-message 5 "%d new newsgroup%s arrived."
                           groups (if (> groups 1) "s have" " has"))
-          (gnus-message 5 "No new newsgroups."))))))
+          (gnus-message 5 "No new newsgroups."))
+	groups))))
 
 (defun gnus-matches-options-n (group)
   ;; Returns `subscribe' if the group is to be unconditionally
@@ -1243,7 +1244,7 @@
       (gnus-message 5 "No new newsgroups"))
     (when got-new
       (setq gnus-newsrc-last-checked-date new-date))
-    got-new))
+    new-newsgroups))
 
 (defun gnus-subscribe-group (group &optional previous method)
   "Subscribe GROUP and put it after PREVIOUS."
--- a/lisp/gnus/nnimap.el	Mon Nov 01 11:18:42 2010 -0400
+++ b/lisp/gnus/nnimap.el	Mon Nov 01 22:21:10 2010 +0000
@@ -669,7 +669,8 @@
   (let ((result (nnimap-possibly-change-group
 		 ;; Don't SELECT the group if we're going to select it
 		 ;; later, anyway.
-		 (if dont-check
+		 (if (and dont-check
+			  (assoc group nnimap-current-infos))
 		     nil
 		   group)
 		 server))
@@ -698,7 +699,8 @@
 				  1 group "SELECT")))))
 	      (when (and info
 			 marks)
-		(nnimap-update-infos marks (list info)))
+		(nnimap-update-infos marks (list info))
+		(nnimap-store-info info (gnus-active (gnus-info-group info))))
 	      (goto-char (point-max))
 	      (let ((uidnext (nth 5 (car marks))))
 		(setq high (or (if uidnext
@@ -1555,12 +1557,16 @@
 	     (split-string
 	      (buffer-substring
 	       (1+ (point))
-	       (1- (search-forward "]" (line-end-position) 'move)))))
+	       (if (search-forward "]" (line-end-position) 'move)
+		   (1- (point))
+		 (point)))))
 	    ((eql char ?\()
 	     (split-string
 	      (buffer-substring
 	       (1+ (point))
-	       (1- (search-forward ")" (line-end-position) 'move)))))
+	       (if (search-forward ")" (line-end-position) 'move)
+		   (1- (point))
+		 (point)))))
 	    ((eql char ?\")
 	     (forward-char 1)
 	     (buffer-substring