]> git.eshelyaron.com Git - emacs.git/commitdiff
(rmail-set-message-counters-counter): Detect messages that have been
authorAndrew Innes <andrewi@gnu.org>
Sun, 22 Nov 1998 21:36:51 +0000 (21:36 +0000)
committerAndrew Innes <andrewi@gnu.org>
Sun, 22 Nov 1998 21:36:51 +0000 (21:36 +0000)
added with DOS line endings and convert the line endings for such
messages.

lisp/mail/rmail.el

index 419f0e21a1f3b5daa071bdfd1ff2b02913bff120..eb0e39205ac0c2d01a334b8a65ca70e4bb20033e 100644 (file)
@@ -2081,19 +2081,33 @@ change the invisible header text."
        (message "Counting messages...done")))))
        
 (defun rmail-set-message-counters-counter (&optional stop)
-  (while (search-backward "\n\^_\^L\n" stop t)
-    (forward-char 1)
-    (setq messages-head (cons (point-marker) messages-head))
-    (save-excursion
-      (setq deleted-head
-           (cons (if (search-backward ", deleted,"
-                                      (prog1 (point)
-                                        (forward-line 2))
-                                      t)
-                     ?D ?\ )
-                 deleted-head)))
-    (if (zerop (% (setq total-messages (1+ total-messages)) 20))
-       (message "Counting messages...%d" total-messages))))
+  (let ((start (point))
+       next)
+    (while (search-backward "\n\^_\^L" stop t)
+      ;; Detect messages that have been added with DOS line endings and
+      ;; convert the line endings for such messages.
+      (setq next (point))
+      (if (looking-at "\n\^_\^L\r\n")
+         (let ((buffer-read-only nil)
+               (buffer-undo t))
+           (message "Counting messages...(converting line endings)")
+           (save-excursion
+             (goto-char start)
+             (while (search-backward "\r\n" next t)
+               (delete-char 1)))))
+      (setq start next)
+      (forward-char 1)
+      (setq messages-head (cons (point-marker) messages-head))
+      (save-excursion
+       (setq deleted-head
+             (cons (if (search-backward ", deleted,"
+                                        (prog1 (point)
+                                          (forward-line 2))
+                                        t)
+                       ?D ?\ )
+                   deleted-head)))
+      (if (zerop (% (setq total-messages (1+ total-messages)) 20))
+         (message "Counting messages...%d" total-messages)))))
 
 (defun rmail-beginning-of-message ()
   "Show current message starting from the beginning."