]> git.eshelyaron.com Git - emacs.git/commitdiff
nnimap.el (nnimap-unfold-quoted-lines): Refactor out.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 25 Nov 2010 23:05:10 +0000 (23:05 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 25 Nov 2010 23:05:10 +0000 (23:05 +0000)
nnimap.el (nnimap-last-response-string): Unfold quoted lines, if they exist.

lisp/gnus/ChangeLog
lisp/gnus/nnimap.el

index 4bc94f9008a65de5a9e9aa280c52829c3eb0423e..1f1f4cb1f6500e1bca50fbb460b2af5c191bcab7 100644 (file)
@@ -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.
index 86bba98c208395dec30396165e95d452e9ea6a27..5fd5e2f11c6f396cbed6323d68d0de3559d8cd76 100644 (file)
@@ -180,13 +180,7 @@ textual parts.")
          (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 @@ textual parts.")
        (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 @@ textual parts.")
   (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)