Bug 59171 - Delete key in slrn's line editor results in endles series of bells
Summary: Delete key in slrn's line editor results in endles series of bells
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: slang   
(Show other bugs)
Version: 7.2
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2002-02-01 13:19 UTC by stu32893
Modified: 2014-03-17 02:25 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-05-28 15:50:54 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description stu32893 2002-02-01 13:19:58 UTC
Description of Problem:
Slrn: Hit 'L' to get a selection of available newsgroups. Hit 'delete' key.
Result: Console or terminal emulator gives an endless series of bells, slrn
stops to accept user input. Problem goes away when using a vanilla S-Lang 1.4.4
build from source.

Version-Release number of selected component (if applicable):
Slrn: built from source
S-Lang: slang-1.4.4-4.i386.rpm

How Reproducible:
Every time

Steps to Reproduce:
1. Open slrn on console or in arbitrary terminal emulator
2. Press 'L' to select newsgroups
3. Press 'delete' key

Actual Results:
The console/terminal emulator gives a neverending series of bells. Slrn stops to
accept user input, and has to be killed. Default kill is enough.

Expected Results:
Performing the steps when using a vanilla S-Lang build from source gives one
bell and prints a '~' in the line editor.

Additional Information:
Problem was reported on usenet in news.software.readers, and has been confirmed
for RedHat 7.2 by other posters. Problem is absent in current Debian unstable.
So far, the bug only shows up in slrn, but since using another S-Lang library
fixes it, it really seems to be a problem with RH's S-Lang package. Slrn
maintainer thinks so, too.

Comment 1 stu32893 2002-02-01 23:32:26 UTC
Modification: Problem apparently results from incorrect delete key 
configuration. Putting 'setkey readline del "^[[3~" in the slrn config file 
solves it. But since the problem is present when using RH 7.2's original 
S-Lang 1.4.4 and slrn packages, I still consider it a bug.

Comment 2 nvwarr 2002-02-08 12:35:34 UTC
I have a similar problem with a pager called most. Pressing any key which is NOT
used by the program causes it to go into an infinite beeping loop. Downgrading
slang to the version shipped with RH 7.1 fixes the problem. Recompiling and
relinking to the newer version of slang does not fix it. This would certainly
appear to be a bug in slang-1.4.4-4 which was not in slang-1.4.2-2.

Comment 3 nvwarr 2002-05-28 06:37:02 UTC
The problem is still present in RH 7.3 and is not present in the pristine
sources. The patch slang-1.4.5-keymap.patch changes the function SLang_do_key so
that if a key is hit which is not defined, that key is unget again. So the next
call to SLang_do_key tries to get the same key which is unget once again. The
result is an infinite loop as the application keeps getting the same key which
is not defined over and over.

This is definitely a bug, which has, I suspect, been introduced into slang as a
workaround to solve a problem in a buggy application. The documentation says
quite clearly that SLang_do_key should return NULL if the key is not defined and
not that it should unget the key. This is hardly what one would intuitively
expect and it breaks other applications.

The fix is simply to remove the patch and fix whatever application caused the
patch to be added in the first place.

Comment 4 Bill Nottingham 2002-06-12 06:03:23 UTC
Patch removed in 1.4.5-4.

Note You need to log in before you can comment on or make changes to this bug.