using slrn in a gentoo UTF-8 environment shows some display-errors while using german-umlauts. No german Umlauts are displayed! If some ascii-character are followed by the umlaut without a space, the rest of this word isn't displayed. Reproducible: Always Steps to Reproduce: 1. emerge slang-1.4.9-r1 for slang with UTF-8 support 2. emerge slrn 3. export LANG=de_DE.UTF-8 4. run slrn with a newsgroup with german umlauts dido tfoerts $ locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL= dido tfoerts $ ldd `which slrn` linux-gate.so.1 => (0xffffe000) libslang-utf8.so.1 => /usr/lib/libslang-utf8.so.1 (0x4002c000) libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x400a0000) libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x400d0000) libm.so.6 => /lib/libm.so.6 (0x401c9000) libdl.so.2 => /lib/libdl.so.2 (0x401eb000) libc.so.6 => /lib/libc.so.6 (0x401ee000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) Other slang-based apps are working propperly. SUSE uses a simple patch for this Problem: --- src/misc.c +++ src/misc.c @@ -458,7 +458,7 @@ while (s1 < smax) { - if ((*s1 & 0x80) && (eight_bit > (unsigned int) *s1)) + if ((*s1 & 0x80) && ((eight_bit > (unsigned int) *s1) || (SLsmg_Is_Unicode))) { if (s != (char *) s1) SLsmg_write_nchars (s, (unsigned int) ((char *)s1 - s));
Fixed with slrn-0.9.8.0-r2.