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 as well. 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 compiled-in behaviour.
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" :) Much appreciated. Although ... the xterm terminfo doesn't work right with Solaris xterm ...