readline uses the termcap interface by default.
It attempts to bind the termcap capabilities 'kh' and 'kH' to
beginning-of-line and end-of-line functions in readline. However for
xterm, the End key is defined in terminfo.src (in the ncurses package) as
'kend' => termcap '@7' ...
There are two possible fixes for this: change the terminfo.src file to use
'kll' instead of 'kend' or hack readline to check for the '@7' capability
Changing the terminfo source isn't really an option as bash and other
readline-based CLIs would still not work correctly on other platforms (I
use Solaris a lot, too).
Since this fails to work correctly on other platforms (specifically, bash
doesn't correctly bind end-of-line on Solaris 6 through 8 either) I would
like to see a fix for this that could be fed back to the readline
maintainers. I'll do that myself if I have to, but a fix in RH7.1 would at
least get rid of the current /etc/inputrc bandaid.
I apologise for the confusing subject line. The problem originally arose in
relation to bash, but I traced it to a "feature" of the readline library. In
fact it's more of a historical misunderstanding.
agreed that readline should be fixed. kH is entirely wrong.
fixed in -8 and later.
one more comment: most likely we never noticed this because the default
/etc/inputrc we ship takes care of all these things, and it masks the
Yes, it used to be masked. I've noticed for the last year plus that it doesn't
work right on "the other Un*x" :)
Although ... the xterm terminfo doesn't work right with Solaris xterm ...