summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog21
-rw-r--r--lisp/gnus/gnus-cite.el11
-rw-r--r--lisp/gnus/gnus-group.el10
-rw-r--r--lisp/gnus/gnus-start.el5
-rw-r--r--lisp/gnus/nnimap.el14
5 files changed, 52 insertions, 9 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 4ebf11251b9..d233a667126 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -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
diff --git a/lisp/gnus/gnus-cite.el b/lisp/gnus/gnus-cite.el
index a010a833e9d..2d44e36258a 100644
--- a/lisp/gnus/gnus-cite.el
+++ b/lisp/gnus/gnus-cite.el
@@ -545,7 +545,16 @@ longer than the frame width."
(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
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 24215a61950..5a65d30ec1c 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -4186,8 +4186,14 @@ groups.
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.
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index f480d304d4b..2466ddd28b7 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -1145,7 +1145,8 @@ for new groups, and subscribe the new groups as zombies."
(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 @@ for new groups, and subscribe the new groups as zombies."
(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."
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index ea8a0fc95e5..ef7831caa29 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -669,7 +669,8 @@ textual parts.")
(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 @@ textual parts.")
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 @@ textual parts.")
(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