Description of problem: slcurses does not display line drawing characters. Version-Release number of selected component (if applicable): slang-1.4.5-16 How reproducible: always Steps to Reproduce: Display threads in mutt. Actual results: 26 N Apr 02 Jakub Jelinek ( 0) ELIMINATE_COPY_RELOCS problems on ppc 27 N Apr 03 Alan Modra ( 0) > 28 N Apr 03 Alan Modra ( 0) > Expected results: 26 N Apr 02 Jakub Jelinek ( 0) ELIMINATE_COPY_RELOCS problems on ppc 27 N Apr 03 Alan Modra ( 0) mq> 28 N Apr 03 Alan Modra ( 0) mq> where 'm' and 'q' are in xterm's "alternate char set", which renders them as lower-left-corner and horizontal-line respectively.
What locale are you in?
C, aka unset LANG. (I hate the dictionary sorting ls does in a language locale.) A curious followup here is that (1) this worked with a previous version of slang, such that mutt in rh7.1 worked, (2) I had recompiled mutt for rh9 to use ncurses, which displayed things properly, and (3) *both* versions fail to display the graphics characters when ssh'ed in with TERM=linux instead of TERM=xterm.
In order to support unicode, slang was changed to actually pay attention to the locale. When LANG=C, the line drawing characters fail isprint() tests.
Whoa, slcurses is screwed up. You're lucky it doesn't segfault, actually. Fixing...
Although, that won't solve the isprint() issues, I believe.
Then, clearly, slang should be extended to remember which characters are supposed to be in the alternate graphics character set, and then isprint should NOT be applied to such characters.
fixed in current release