With $text_flowed set and $text_reflow unset we kept inconsistent
quoting e.g. ">> >", didn't do space stuffing and lost flowed lines when
replying to a message with format=flowed.

We still want to handle RFC3676 when $text_reflow is unset so we do that
by interpreting every line as fixed line instead.

Signed-off-by: David Flatz <da...@upcs.at>
---

I also thought about handling every line as fixed, when replying to a 
message but I guess that would change behaviour that a lot of people 
already have expectations about.

Thanks.

 handler.c | 2 +-
 rfc3676.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/handler.c b/handler.c
index cedf352a..d0769e35 100644
--- a/handler.c
+++ b/handler.c
@@ -1805,7 +1805,7 @@ int mutt_body_handler (BODY *b, STATE *s)
        */
       if ((WithCrypto & APPLICATION_PGP) && mutt_is_application_pgp (b))
        encrypted_handler = handler = crypt_pgp_application_pgp_handler;
-      else if (option(OPTREFLOWTEXT) && ascii_strcasecmp ("flowed", 
mutt_get_parameter ("format", b->parameter)) == 0)
+      else if (ascii_strcasecmp ("flowed", mutt_get_parameter ("format", 
b->parameter)) == 0)
        handler = rfc3676_handler;
       else
        handler = text_plain_handler;
diff --git a/rfc3676.c b/rfc3676.c
index 381a25ec..d263dd76 100644
--- a/rfc3676.c
+++ b/rfc3676.c
@@ -301,7 +301,7 @@ int rfc3676_handler (BODY * a, STATE * s)
 
     /* print fixed-and-standalone, fixed-and-empty and sigsep lines as
      * fixed lines */
-    if ((fixed && (!fst.width || !buf_len)) || sigsep)
+    if ((fixed && (!fst.width || !buf_len)) || sigsep || 
!option(OPTREFLOWTEXT))
     {
       /* if we're within a flowed paragraph, terminate it */
       flush_par (s, &fst);
-- 
2.40.0

Reply via email to