Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 65187

Summary: Problem with the slang library in the mutt email client if slang is emerged with USE=unicode
Product: Gentoo Linux Reporter: toon <toon>
Component: [OLD] LibraryAssignee: utf8 herd (RETIRED) <utf8>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Screenshot showing a correct thread display in mutt
Screenshot showing an erroneous thread display in mutt.
Screenshot showing the thread display with LC_CTYPE=nl_NL.UTF-8

Description toon 2004-09-24 04:31:33 UTC
Hi,

I've had the USE-flag 'unicode' in my make.conf for a long time.
Now, after I did an 'emerge -uD world', mutt didn't display message
threads right anymore. Normally, mutt shows the relations between
messages in threads with lines en '>' signs ("arrows").
After emerging the latest slang library (slang-1.4.9-r1.ebuild),
the lines are no longer displayed by mutt when in thread mode.

Studying the slang ebuilds, I noticed that the USE-flag 'unicode'
was first used in the release 1.4.9-r1. So I re-emerged slang
with the prefix "USE=-unicode". This solved my problems with mutt.

Please note that I had to re-emerge mutt after re-emerging slang,
because mutt gave me the following error message:
    mutt: error while loading shared libraries: libslang-utf8.so.1:
          cannot open shared object file: No such file or directory
But this is understandable and not related to the problem at hand.

Appearantly, slang's UTF-8 support is not ready for prime time.
Maybe we shouldn't honour the 'unicode' USE flag in the slang ebuild
until this is solved?

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-24 13:33:49 UTC
seems to work fine here, can you please post a screenshot and try to remerge mutt with use=unicode
Comment 2 toon 2004-09-24 16:04:20 UTC
Hi, I understand that you failed to reproduce the problem?
I can certainly reproduce it here and take snapshots.
But I'm not sure wether I'll find the time this weekend.
I'll do it as soon as I can find an opportunity.

But I have one question before I start: did you compile
mutt with "USE=slang"? Because if you didn't, then it's
understandable why you couldn't reproduce the problem.
Comment 3 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-24 23:03:30 UTC
yes, i failed to reproduce it and compiled mutt with use="slang"
Comment 4 toon 2004-09-25 03:23:41 UTC
Created attachment 40358 [details]
Screenshot showing a correct thread display in mutt

As you can see, mutt shows the relation betwee messages in a thread correctly.
The slang library was compiled with 'USE=-unicode'.
Comment 5 toon 2004-09-25 03:27:28 UTC
Created attachment 40359 [details]
Screenshot showing an erroneous thread display in mutt.

This screenshot was made after having re-emerged slang with the USE-flag
unicode set.
As you can see, the thread display looks less than optimal, to say the least.
Comment 6 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-25 07:17:34 UTC
well, i simply don't have the problem, it still looks like the second screenshot.

did you remerge mutt after emerging slang with use="unicode"?
Comment 7 toon 2004-09-25 07:33:18 UTC
Excuse me, no offense meant, but I'm baffled by your reply.
The second screenshot shows the problem.
The first screenshot shows the thread display as it should be.
So appearently you where successful in reproducing it?

And yes, after each compilation I've recompiled mutt.
Comment 8 toon 2004-09-25 07:40:59 UTC
For the record, here is my portage setup:

# emerge info
Portage 2.0.50-r11 (default-x86-1.4, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-gentoo-r11)
=================================================================
System uname: 2.6.7-gentoo-r11 i686 VIA Samuel 2
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=i586 -O2 -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i586 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/mnt/iso"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X X509 aalib acpi acpi4linux alsa apache2 apm arts avi berkdb bindist bitmap-fonts bonobo cdr crypt cscope dga directfb doc dvb dvd dvdr encode esd evo fbcon foomaticdb gb gd gdbm gif gnome gnomedb gphoto2 gpm gtk gtk2 gtkhtml guile imap imlib innodb ipv6 java jpeg junit lcms ldap leim libg++ libgda libwww lprng mad mailwrapper mbox mikmod mmx motif mozilla mpeg mule mysql nas ncurses nls nptl odbc oggvorbis opengl oss pam pda pdflib perl plotutils png postgres python quicktime readline samba sasl sdl slang slp snmp socks5 spell ssl svga tcltk tcpd tetex threads tiff truetype unicode usb wavelan wmf x86 xface xml2 xmms xprint xv xvid zeo zlib"

The ebuilds used for merging the relevant packages are:

sys-libs/slang-1.4.9-r1
mail-client/mutt-1.5.6-r3
Comment 9 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-25 07:43:42 UTC
sorry, i confused the versions, i have a working thread display here and emerged slang and mutt with use=unicode
Comment 10 toon 2004-09-25 08:03:30 UTC
Amazing. How do we proceed from here?
Wait a minute. Here's some more input:

# cat /etc/mutt/Muttrc
# Some minimal Mutt settings, Gentoo-style.  Since mutt was installed
# with USE=mbox, this file doesn't have any changes from the default
# mutt settings, making it very minimal indeed...
#
# Please don't add settings to this file to change other user
# preferences (such as colors), since those can be hard for a user to
# undo if their preference doesn't match yours!  For example, it is
# *impossible* currently in mutt to remove color settings from objects
# other than the index.

ignore "from " received content- mime-version status x-status message-id
ignore sender references return-path lines
set print_command="muttprint"

# cat /home/toon/.muttrc
set   record="~/sent"
unset arrow_cursor
set   pager_context=2
set   forward_quote=yes
set   forward_decode=no
set   mime_forward=ask-yes
set   mime_forward_decode=no
#set   read_only=no
#set   pager_index_lines=6

color hdrdefault white black
color header cyan black ^(From|Subject):
color status black white
color quoted white black
#color indicator brightwhite default
color indicator black white

mbox-hook /var/spool/mail/toon ~/Mail/read

(I deliberately left out all my PGP- and alias-settings because of privacy reasons)
Comment 11 Torsten Veller (RETIRED) gentoo-dev 2004-09-26 08:17:24 UTC
i know your second (faulty) screenshot.

can you both try:
LC_CTYPE="nl_NL.UTF-8" mutt # results in correct display
LC_CTYPE="POSIX" mutt # faulty display
Comment 12 toon 2004-09-28 04:48:51 UTC
Hi,

Sorry for the delay. I've done what you asked.
First my current locale settings:

    $ locale
    LANG=nl_NL@euro
    LC_CTYPE="nl_NL@euro"
    LC_NUMERIC="nl_NL@euro"
    LC_TIME="nl_NL@euro"
    LC_COLLATE="nl_NL@euro"
    LC_MONETARY="nl_NL@euro"
    LC_MESSAGES="nl_NL@euro"
    LC_PAPER="nl_NL@euro"
    LC_NAME="nl_NL@euro"
    LC_ADDRESS="nl_NL@euro"
    LC_TELEPHONE="nl_NL@euro"
    LC_MEASUREMENT="nl_NL@euro"
    LC_IDENTIFICATION="nl_NL@euro"
    LC_ALL=

I recompiled slang and mutt:

    # USE=-unicode emerge -D slang
    # emerge -D mutt

Then I ran mutt conforming your request.
The result was disappointing:

    $ LC_CTYPE="POSIX" mutt

    This results in the already known erroneous display, like you predicted.
    See http://bugs.gentoo.org/attachment.cgi?id=40359&action=view

    $ LC_CTYPE="nl_NL.UTF-8" mutt

    This results in an erroneous display in thread mode.
    It doesn't look pretty. Please see the new attachment,
    which I'll create after committing this comment.

After these experiments I decided to recompile gnome-terminal.
I stopped/started the X-server in order to start using the newly
compiled gnome-terminal binaries.
Then I repeated the experiments. The results were exactly the same.

Regards,
Toon.
Comment 13 toon 2004-09-28 04:52:27 UTC
Created attachment 40601 [details]
Screenshot showing the thread display with LC_CTYPE=nl_NL.UTF-8
Comment 14 toon 2004-09-28 05:09:05 UTC
Aargh!
In my last comment I wrote:

    I recompiled slang and mutt:
    # USE=-unicode emerge -D slang

This is not true. I correctly compiled slang with the command:

    # emerge -D slang

So the expirement was executed correctly.
I checked this in the bash command history.
Sorry for the mistake.
Comment 15 Heinrich Wendel (RETIRED) gentoo-dev 2004-09-30 09:19:25 UTC
please try to emerge mutt and slang with use="unicode" and set everything to nl_NL.UTF-8, not only LC_CTYPE
Comment 16 toon 2004-10-01 03:17:59 UTC
Hi, with the flag 'unicode' set, I re-emerged slang and mutt:

    # emerge -D slang mutt

Then I did what you asked me to do:

    $ export LANG=nl_NL.UTF-8
    $ locale
    LANG=nl_NL.UTF-8
    LC_CTYPE="nl_NL.UTF-8"
    LC_NUMERIC="nl_NL.UTF-8"
    LC_TIME="nl_NL.UTF-8"
    LC_COLLATE="nl_NL.UTF-8"
    LC_MONETARY="nl_NL.UTF-8"
    LC_MESSAGES="nl_NL.UTF-8"
    LC_PAPER="nl_NL.UTF-8"
    LC_NAME="nl_NL.UTF-8"
    LC_ADDRESS="nl_NL.UTF-8"
    LC_TELEPHONE="nl_NL.UTF-8"
    LC_MEASUREMENT="nl_NL.UTF-8"
    LC_IDENTIFICATION="nl_NL.UTF-8"
    LC_ALL=
    $ mutt

Same result. (see http://bugs.gentoo.org/attachment.cgi?id=40601)

But wait a minute. I am such a fool!
I just discovered that I had my terminal emulator (gnome-teminal)
still configured with the character encoding ISO-8859-15 instead of
UTF-8. This worked in the past because the slang ebuild didn't
honour the 'unicode' flag until the recent release of 1.4.9-r1,
so in effect mutt didn't do any UTF-8 encoding at all.

So thanks for bearing with me and for your patience.
I thought I was helping you squashing a bug, but instead I was
making a fool of myself. I'll close this bugus bug report now.
I hope it will be helpful for others though.

Regards,
Toon.