urxvt-X terminfo and Bash readline
Charles Wilson
cygwin@cwilson.fastmail.fm
Mon Jun 1 18:27:00 GMT 2009
Dan Moulding wrote:
> First, it did not install its own compiled terminfo file in
> /usr/share/terminfo/r. I noticed that the source for the terminfo file
> was installed to /etc/terminfo, so I compiled it and copied
> rxvt-unicode to /usr/share/terminfo/r (from /usr/share/terminfo/72).
> This seemed to work for getting programs (such as emacs) to find the
> terminfo. But it seems like this should all happen automagically upon
> installing urxvt-X (for example, I never had to do this with xterm).
Programs compiled against ncurses anytime in the last 2-3 months use the
"new" terminfo database, which organizes the entries by the 2-char hex
code of the first letter, rather than by the first letter itself. This
helps when your filesystem -- as on cygwin/win32 [*] -- is
case-preserving but not case-sensitive. Older programs continue to use
the "old" terminfo database. Both databases coexist in the
/usr/share/terminfo directory. The rxvt-unicode postinstall script will
install a copy of the correct entry into both databases, but ONLY if you
have the correct program(s) installed:
/usr/bin/tic.exe from the ncurses package (most everybody will have
this)
--> installs into the "new" database under .../72/
/usr/bin/tic0.exe from the 'tic0' package (few people install this)
--> installs into the "old" database under .../u/
To get this "right", first install the 'tic0' package, and then
(re)install the rxvt-unicode-common package.
Note that in most cases (e.g. cygwin installations that were "in
service" prior to 2-3 months ago, and had installed rxvt-unicode "back
then") already had the "old" database entry installed -- and so only
need the "new" one which *does* happen automagically. It's the mix of
"I want to use an old program that hasn't been recompiled against the
new ncurses, AND I am just now installing rxvt-unicode for the first
time, AND I'm using the old program from inside this spiffy new
terminal" that causes problems. I guess I could make it automatic even
then, by require:ing tic0...but then everybody, even those who don't
need it, would install tic0, the "old" terminfo0 database, and all of
the (old) ncurses libraries that tic0 needs. Plus, that runs against my
attempt to slowly phase out the "old" database...
> The other odd thing I noticed is that for some reason in Bash the
> readline functionality "horizontal-scroll-mode" defaults to "on" when
> running inside urxvt-X. Normally this should default to "off" (as per
> the Bash man page). When running Bash in an xterm window, it is set
> "off" by default as expected. I had to manually turn it off in
> .inputrc when using urxvt-X.
I know nothing of this. I didn't do anything "special" so I figure this
is the upstream default behavior of rxvt-unicode. I plan to update
rxvt-unicode to 8.x once cygwin-1.7 is released, so maybe we can revisit
this issue then.
--
Chuck
rxvt-unicode, ncurses, terminfo maintainer
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list