mutt in 3.9 and utf-8

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

mutt in 3.9 and utf-8

Zvezdan Petkovic
It seems that ports are the maintainer for mutt.
Thus the report here.

There's something wrong with mutt and UTF-8 in OpenBSD 3.9.
I didn't notice the problem before because I write mostly in English,
and Latin characters, but recently I was writing the mail in Cyrillic on
a machine running OpenBSD 3.7.  When read from the machine running
OpenBSD 3.9 the Cyrillic text is botched.  Some letters are shown OK,
and some are not.  It seems that iswprint() informs mutt that these
letters are not printable.

The attachments below show you the following:

        1. mutt_index39.png -- how the mutt index looks like in 3.9
        2. mutt_index.png -- how it should look like
        3. mutt_msg39.png -- how a message looks like in 3.9
        4. mutt_msg.png -- how it should look like

One anomaly on the image #2 above is the first message.
It was produced on a machine running OpenBSD 3.9 and obviously the input
was not picked up as UTF-8 at all while typing Subject.
I must note here that even when typed on OpenBSD 3.7 the letters don't
look right while you type them, but they show OK in the index once you
press Enter as can be seen from the other message subjects.

The text of the messages has been typed in vim without a problem.
They show OK in "LANG=en_US.UTF-8 more" or in KMail.
They show OK in mutt on OpenBSD 3.7 (with small quirks).
They show OK in mutt I rebuilt from ports with one extra option (again
with a small quirk)

The quirk in OpenBSD 3.7 and rebuilt port on 3.9 can be seen in images
attached below:

        5. mutt_mix.png -- mixed Latin (word mutt) and Cyrillic
        6. vim_mix.png -- same message edited in Vim started from mutt

This all used to "just work" on OpenBSD.
I believe that the change has happened after the switch to gcc-3.x.
Attached is the diff of "mutt -v" on OpenBSD 3.7 and OpenBSD 3.9.
The configuration apparently thought that there are no WC_FUNCS on 3.7,
while it picks them up on 3.9 system.
I have recompiled mutt port adding --without-wc-funcs to CONFIGURE_ARGS.
Mutt behaves all right after that except the quirk above.

Again, this quirk didn't use to be there in OpenBSD before 3.7 either.
Since OpenBSD doesn't have locales, if you search mail archives you'll
find my messages where I recommend people to set up XTerm*locale: UTF-8
in .Xdefault, set charset=utf-8 in .muttrc, set encoding=utf-8 in Vim,
and alias for "more" as given above.  It used to "just work" and that
was perfect.  It still does work in Vim, more, XTerm, and apparently
KMail, but not mutt.  And that's bad.

I believe we should at least recompile mutt port --without-wc-funcs to
get a part of functionality back.  Something else needs to be done to
get all back the way it used to be.  Any ideas?  Suggestions?

Best regards,

        Zvezdan Petkovic

out.diff (314 bytes) Download Attachment
mutt_index39.png (16K) Download Attachment
mutt_index.png (16K) Download Attachment
mutt_msg39.png (14K) Download Attachment
mutt_msg.png (10K) Download Attachment