On 1 February 2018 at 11:28, Miroslav Lichvar <mlichvar@xxxxxxxxxx> wrote:
On Thu, Feb 01, 2018 at 10:50:59AM +0100, Miroslav Lichvar wrote:
> It seems to be an slang issue, not supporting the new format. There
> was a report on the ncurses list:
> http://lists.gnu.org/archive/html/bug-ncurses/2018-01/ msg00052.html
>
> I'm not sure how difficult it will be to fix/update slang. We could
> revert the changes in terminfo if necessary.
It looks like a support for the extended numerical capabilities is
already included in the slang repo...
BTW SLang I see that patch which I've submitted in https://bugzilla.redhat.com/show_bug.cgi?id=1436909
about remove some terminfo paths still is not included
SLang has hardcoded few base paths of terminfo DB which are not used on Fedora
It is easy to ttrace this by:
$ strace -o out -e trace=file mc
then just quit mc and:
$ grep terminfo out
openat(AT_FDCWD, "/home/tkloczko/.terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/tkloczko/.terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/etc/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory) <<=== from here
openat(AT_FDCWD, "/usr/local/etc/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT (No such file or directory) <<=== to here
openat(AT_FDCWD, "/usr/share/terminfo/x/xterm-256color", O_RDONLY) = 3
Will try to (re)submit this patch again.
Nevertheless it would be probably good to invest a bit more time in mc development to switch it from SLang to ncurses.
At the moment is known issue with ncurses and mc https://bugzilla.redhat.com/show_bug.cgi?id=1440110
I'm almost sure that somewhere in mc or SLang code instead reading some terminfo entries is hardcoded use some exact terminal sequences and it is possible to fix this issue by simple remove some number of lines.
mc is one of the only few packages which is using SLang and it would be better if it will be possible to use it with ncurses.
# dnf -C repoquery --whatrequires 'libslang.so.2()(64bit)'
aalib-0:1.4.0-0.32.rc5.fc27.x86_64
aalib-libs-0:1.4.0-0.32.rc5.fc27.x86_64
crypto-utils-0:2.5-1.fc28.x86_64
jed-0:0.99.19-14.fc27.x86_64
libcaca-0:0.99-0.35.beta19.fc28.x86_64
mc-1:4.8.19-7.fc27.x86_64
most-0:5.0.0-16.a.1.fc27.x86_64
newt-0:0.52.20-5.fc28.x86_64
newt-python3-0:0.52.20-5.fc28.x86_64
perf-0:4.15.0-0.rc9.git0.1.fc28.x86_64
python2-newt-0:0.52.20-5.fc28.x86_64
slang-devel-0:2.3.1a-5.fc27.x86_64
slang-slsh-0:2.3.1a-5.fc27.x86_64
slrn-0:1.0.2-7.fc27.x86_64
slrn-pull-0:1.0.2-7.fc27.x86_64
IIRC aalib is possible to compile with ncursess (IIRC Solaris userland has uses it that way).
At the moment because mc uses gpm which is using ncurses on run-time mc is effectively linked with both SLang and ncurses librarier.
$ ldd /usr/bin/mc
linux-vdso.so.1 (0x00007ffffbd2f000)
libslang.so.2 => /lib64/libslang.so.2 (0x00007faa64a70000)
libgpm.so.2 => /lib64/libgpm.so.2 (0x00007faa64869000)
libssh2.so.1 => /lib64/libssh2.so.1 (0x00007faa6463c000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007faa64438000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007faa64123000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa63f04000)
libc.so.6 => /lib64/libc.so.6 (0x00007faa63b45000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007faa63941000)
libm.so.6 => /lib64/libm.so.6 (0x00007faa635ad000)
libncurses.so.6 => /lib64/libncurses.so.6 (0x00007faa63383000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007faa63156000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007faa62eea000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007faa62a62000)
libz.so.1 => /lib64/libz.so.1 (0x00007faa6284b000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007faa625d8000)
/lib64/ld-linux-x86-64.so.2 (0x00007faa652a2000)
$ objdump -x /usr/bin/mc| grep NEEDED
NEEDED libslang.so.2
NEEDED libgpm.so.2
NEEDED libssh2.so.1
NEEDED libgmodule-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED libpthread.so.0
NEEDED libc.so.6
kloczek
--
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx