Revision: miles@gnu.org--gnu-2005/gnus--devo--0--patch-182
[gnus] / lisp / flow-fill.el
index db24c4e..6cc6771 100644 (file)
@@ -1,6 +1,7 @@
-;;; flow-fill.el --- interprete RFC2646 "flowed" text
+;;; flow-fill.el --- interpret RFC2646 "flowed" text
 
-;; Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
+;;   2005 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
 ;; Keywords: mail
@@ -19,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -56,6 +57,8 @@
 (defcustom fill-flowed-display-column 'fill-column
   "Column beyond which format=flowed lines are wrapped, when displayed.
 This can be a Lisp expression or an integer."
+  :version "22.1"
+  :group 'mime-display
   :type '(choice (const :tag "Standard `fill-column'" fill-column)
                 (const :tag "Fit Window" (- (window-width) 5))
                 (sexp)
@@ -65,6 +68,8 @@ This can be a Lisp expression or an integer."
   "Column beyond which format=flowed lines are wrapped, in outgoing messages.
 This can be a Lisp expression or an integer.
 RFC 2646 suggests 66 characters for readability."
+  :version "22.1"
+  :group 'mime-display
   :type '(choice (const :tag "Standard fill-column" fill-column)
                 (const :tag "RFC 2646 default (66)" 66)
                 (sexp)
@@ -97,10 +102,15 @@ RFC 2646 suggests 66 characters for readability."
   (save-excursion
     (set-buffer (or (current-buffer) buffer))
     (goto-char (point-min))
+    ;; Remove space stuffing.
+    (while (re-search-forward "^ " nil t)
+      (delete-char -1)
+      (forward-line 1))
+    (goto-char (point-min))
     (while (re-search-forward " $" nil t)
       (when (save-excursion
              (beginning-of-line)
-             (looking-at "^\\(>*\\)\\( ?\\)"))
+             (looking-at "^\\(>+\\)\\( ?\\)"))
        (let ((quote (match-string 1))
              sig)
          (if (string= quote "")
@@ -148,19 +158,19 @@ RFC 2646 suggests 66 characters for readability."
   '(
     ;; The syntax of each list element is:
     ;; (INPUT . EXPECTED-OUTPUT)
-    ("> Thou villainous ill-breeding spongy dizzy-eyed 
-> reeky elf-skinned pigeon-egg! 
->> Thou artless swag-bellied milk-livered 
+    ("> Thou villainous ill-breeding spongy dizzy-eyed
+> reeky elf-skinned pigeon-egg!
+>> Thou artless swag-bellied milk-livered
 >> dismal-dreaming idle-headed scut!
->>> Thou errant folly-fallen spleeny reeling-ripe 
+>>> Thou errant folly-fallen spleeny reeling-ripe
 >>> unmuzzled ratsbane!
->>>> Henceforth, the coding style is to be strictly 
+>>>> Henceforth, the coding style is to be strictly
 >>>> enforced, including the use of only upper case.
->>>>> I've noticed a lack of adherence to the coding 
+>>>>> I've noticed a lack of adherence to the coding
 >>>>> styles, of late.
 >>>>>> Any complaints?
 " . "> Thou villainous ill-breeding spongy dizzy-eyed reeky elf-skinned
-> pigeon-egg! 
+> pigeon-egg!
 >> Thou artless swag-bellied milk-livered dismal-dreaming idle-headed
 >> scut!
 >>> Thou errant folly-fallen spleeny reeling-ripe unmuzzled ratsbane!
@@ -171,8 +181,8 @@ RFC 2646 suggests 66 characters for readability."
 ")
 ;    ("
 ;> foo
-;> 
-;> 
+;>
+;>
 ;> bar
 ;" . "
 ;> foo bar
@@ -206,4 +216,5 @@ RFC 2646 suggests 66 characters for readability."
 
 (provide 'flow-fill)
 
+;;; arch-tag: addc0040-bc53-4f17-b4bc-1eb44eed6f0b
 ;;; flow-fill.el ends here