Hi Ken,

> My -prefer is re-ordering parts 1 and 2, as I can show with mhlist.
...
> I can select the text/html in this case with
>
>     $ mhlist -nov -prefer text/plain -prefer multipart/related
...
> > Typically, the text/plain and text/html are children of the same
> > multipart/alternative, but here Apple thinks text/plain means images
> > aren't required.  Perhaps revenge for my never having purchased an
> > Apple product.
>
> Ralph, as far as I can tell ... nmh is doing exactly what you asked.
> You told it, "Hey, if you run across a multipart/alternative, please
> give me the text/plain version in preference to all others".  And
> that's exactly what happened.

Yes, I know.  I tried to get across I understood that by showing I can
have multipart/related trump text/plain.

> This would require a lot of special-case code;

Or some general-purpose code.
https://en.wikipedia.org/wiki/Tree_rewriting#Term_rewriting_systems
It would also allow things like

    ditch-plain:
        (multipart/alternative (text/plain text/html)) → (text/html)

if users want to ditch the text/plain parts, avoiding the need to keep
adding more options to mhfixmsg(1) for the special cases.

> But right now I think you're going to have to engage your brain.

I often do.  You're missing the important point.  Currently a simple
`-prefer text/plain' that seems obvious from the man pages has side
effects that won't be wanted, and the man pages don't warn about them.

I think Paul Fox and I shared an itch;  to prefer text/plain over
text/html.  But the current, simple, solution doesn't achieve that.
It states a preference for one MIME type over all previously listed
ones, and every one not listed.

The best approach with that logic seems to be

    $ mhlist -nov -prefer text/plain -prefer multipart
     msg part  type/subtype              size description
    32753       multipart/alternative     418K
         1     multipart/related         417K
         1.1   text/html                  721
         1.2   image/jpeg                238K
         1.3   image/png                  69K
         2     text/plain                 134
    $ 

but it still means the pecking order is

    multipart
    text/plain
    */*

and not the better

    */*
    text/plain
    text/html

that only demotes text/html in relation to text/plain and otherwise
leaves well alone.  IIRC, a `*' can't be given for type or subtype,
and it certainly doesn't mean match only if nothing following matches.

Perhaps a `-demote' is the short-term fix?

-- 
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy

-- 
nmh-workers
https://lists.nongnu.org/mailman/listinfo/nmh-workers

Reply via email to