changeset 111715:d00ba7ce3ef0

nnimap.el (nnimap-unfold-quoted-lines): Refactor out. nnimap.el (nnimap-last-response-string): Unfold quoted lines, if they exist.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 25 Nov 2010 23:05:10 +0000
parents 157b25217077
children f6563e4356cb
files lisp/gnus/ChangeLog lisp/gnus/nnimap.el
diffstat 2 files changed, 22 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu Nov 25 16:59:30 2010 -0500
+++ b/lisp/gnus/ChangeLog	Thu Nov 25 23:05:10 2010 +0000
@@ -1,3 +1,8 @@
+2010-11-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* nnimap.el (nnimap-unfold-quoted-lines): Refactor out.
+	(nnimap-last-response-string): Unfold quoted lines, if they exist.
+
 2010-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* shr.el (shr-insert): Fix the way to fold lines.
--- a/lisp/gnus/nnimap.el	Thu Nov 25 16:59:30 2010 -0500
+++ b/lisp/gnus/nnimap.el	Thu Nov 25 23:05:10 2010 +0000
@@ -180,13 +180,7 @@
 	  (when (eobp)
 	    (return)))
 	(setq article (match-string 1))
-	;; Unfold quoted {number} strings.
-	(while (re-search-forward "[^]][ (]{\\([0-9]+\\)}\r\n"
-				  (1+ (line-end-position)) t)
-	  (setq size (string-to-number (match-string 1)))
-	  (delete-region (+ (match-beginning 0) 2) (point))
-	  (setq string (delete-region (point) (+ (point) size)))
-	  (insert (format "%S" string)))
+	(nnimap-unfold-quoted-lines)
 	(setq bytes (nnimap-get-length)
 	      lines nil)
 	(beginning-of-line)
@@ -216,6 +210,15 @@
 	(insert ".")
 	(forward-line 1)))))
 
+(defun nnimap-unfold-quoted-lines ()
+  ;; Unfold quoted {number} strings.
+  (while (re-search-forward "[^]][ (]{\\([0-9]+\\)}\r\n"
+			    (1+ (line-end-position)) t)
+    (setq size (string-to-number (match-string 1)))
+    (delete-region (+ (match-beginning 0) 2) (point))
+    (setq string (delete-region (point) (+ (point) size)))
+    (insert (format "%S" string))))
+
 (defun nnimap-get-length ()
   (and (re-search-forward "{\\([0-9]+\\)}" (line-end-position) t)
        (string-to-number (match-string 1))))
@@ -1602,6 +1605,13 @@
   (save-excursion
     (forward-line 1)
     (let ((end (point)))
+      ;; Unfold quoted {num} lines, if they exist.
+      (when (search-backward "}" nil t)
+	(save-excursion
+	  (save-restriction
+	    (narrow-to-region (point-min) end)
+	    (goto-char (point-min))
+	    (nnimap-unfold-quoted-lines))))
       (forward-line -1)
       (when (not (bobp))
 	(forward-line -1)