On Tue, Mar 27, 2012 at 05:15:10PM +0200, Sven Joachim wrote:
> On 2009-02-16 14:47 +0100, Vincent Lefevre wrote:
> 
> > Package: ncurses-base
> > Version: 5.7+20090207-1
> > Severity: normal
> >
> > In the linux terminfo data: smacs=\E[11m and rmacs=\E[10m
> > However the correct values are: smacs=^N and rmacs=^O
> 
> This has been implemented in the 20110716 patchlevel and in the Debian
> 5.9-5 release, however it causes rather bad breakage in non-UTF-8
> locales.  For instance, Midnight Commander displays funny characters
> instead of nice line drawings with LC_ALL=C, and bug #665959 mentions a
> similar problem in Mutt.

hmm - I didn't notice that problem (or perhaps I did - see the 20110910 change
below).

Because ncurses won't _use_ the rmacs/smacs strings when it's running on Linux
console in UTF-8 mode, then it sounds as if the change was entirely incorrect
and should be reverted.

I did (later than the patch level you mentioned) make this choice configurable
(assuming that the kernel for the build is comparable to the system on which it
is installed):

20110910
        + modify misc/gen_edit.sh to select a "linux" entry which works with
          the current kernel rather than assuming it is always "linux3.0"
          (cf: 20110716).

If the problem is simply from using pre-3.0 kernels, then that could be
addressed using the gen_edit.sh change.

Regarding smacs/rmacs, see "man ncurses" -

       NCURSES_NO_UTF8_ACS
            During initialization, the  ncurses  library  checks  for  special
            cases  where  VT100  line-drawing (and the corresponding alternate
            character set capabilities) described in the terminfo are known to
            be  missing.   Specifically,  when  running in a UTF-8 locale, the
            Linux console emulator and the GNU screen  program  ignore  these.
            Ncurses checks the TERM environment variable for these.  For other
            special cases, you should set this  environment  variable.   Doing
            this  tells  ncurses to use Unicode values which correspond to the
            VT100 line-drawing glyphs.   That  works  for  the  special  cases
            cited, and is likely to work for terminal emulators.

            When  setting this variable, you should set it to a nonzero value.
            Setting it to zero (or to a nonnumber) disables the special  check
            for Linux and screen.

-- 
Thomas E. Dickey <dic...@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature

Reply via email to