emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r102515: nnimap.el (nnimap-unfold-quo


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102515: nnimap.el (nnimap-unfold-quoted-lines): Refactor out.
Date: Thu, 25 Nov 2010 23:05:10 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102515
author: Lars Magne Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Thu 2010-11-25 23:05:10 +0000
message:
  nnimap.el (nnimap-unfold-quoted-lines): Refactor out.
  nnimap.el (nnimap-last-response-string): Unfold quoted lines, if they exist.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/nnimap.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2010-11-25 14:51:51 +0000
+++ b/lisp/gnus/ChangeLog       2010-11-25 23:05:10 +0000
@@ -1,3 +1,8 @@
+2010-11-25  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * nnimap.el (nnimap-unfold-quoted-lines): Refactor out.
+       (nnimap-last-response-string): Unfold quoted lines, if they exist.
+
 2010-11-25  Katsumi Yamaoka  <address@hidden>
 
        * shr.el (shr-insert): Fix the way to fold lines.

=== modified file 'lisp/gnus/nnimap.el'
--- a/lisp/gnus/nnimap.el       2010-11-24 22:54:47 +0000
+++ b/lisp/gnus/nnimap.el       2010-11-25 23:05:10 +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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]