I've just rebuilt an rpm from the RedHat SRPM and the patches from ftp.gnu.org and R no longer crashes in any of the cases I have previously described. I can let anyone who wants have a copy of the modified rpms for both RH8 and RH9. The patch numbers are incremented one from the originals, so they should update cleanly on any system. I guess you can probably close this bug now. It's a bit annoying that RH didn't apply the patches themselves for RH9, since the relevant one came out about 6 months before RH9 was released! Graeme.
On Friday 27 Jun 2003 19:06, John W. Eaton wrote:
On 27-Jun-2003, I wrote:
| Making the following change in readline.c seems to avoid the infinite
| loop, but I don't know whether it is the correct fix.
It isn't. :-/ There are 5 patches on ftp.gnu.org in the
/pub/gnu/readline/readline-4.3-patches. The first one covers this
problem:
Bug-Description:
Pressing certain key sequences causes an infinite loop in
_rl_dispatch_subseq with the `key' argument set to 256. This eventually
causes bash to exceed the stack size limit and crash with a segmentation
violation.
Patch:
*** ../readline-4.3/bind.c Thu Jan 24 11:15:52 2002
--- bind.c Wed Jul 31 09:11:18 2002
***************
*** 312,316 ****
and the function bound to `a' to be executed when the user
types `abx', leaving `bx' in the input queue. */
! if (k.function /* && k.type == ISFUNC */)
{
map[ANYOTHERKEY] = k;
--- 312,316 ----
and the function bound to `a' to be executed when the user
types `abx', leaving `bx' in the input queue. */
! if (k.function && ((k.type == ISFUNC && k.function !=
rl_do_lowercase_version) || k.type == ISMACR)) {
map[ANYOTHERKEY] = k;
jwe