Hm.  I have 1.2.5 source locally, and it looks like in
mutt_set_encoding() in sendlib.c, the following logic may be
faulty:

static void mutt_set_encoding (BODY *b, CONTENT *info)
{
   if (b->type == TYPETEXT)
   {
      if (info->lobin || info->linemax > 990 || (info->from &&
               option (OPTENCODEFROM)))
         b->encoding = ENCQUOTEDPRINTABLE;
      else if (info->hibin)
         b->encoding = option (OPTALLOW8BIT) ?
            ENC8BIT : ENCQUOTEDPRINTABLE;
      else
         b->encoding = ENC7BIT;
   }
   ...
}

  Note that if hibin is greater than zero, but lobin is also
greater than zero, we'll use quoted-printable.

  Shouldn't it be something more like:

   if (info->hibin) {
      b->encoding = option (OPTALLOW8BIT) ? ENC8BIT : ENCQUOTEDPRINTABLE;
   } else if (info->lobin || info->linemax > 990 ||
         (info->from && option (OPTENCODEFROM)))
   {
      b->encoding = ENCQUOTEDPRINTABLE;
   }
   else
      b->encoding = ENC7BIT;
   ...

   That is, if we have 8-bit characters, don't even consider
quoted unless OPTALLOW8BIT is false.

  Brian
--
Brian Grayson, SysPerf (System Performance, Modeling, and Simulation)
[EMAIL PROTECTED]
Somerset Design Center
Motorola
Austin, TX

Reply via email to