Readline (was Re: state of ghc6 on sparc)

Simon Marlow simonmar@microsoft.com
Fri, 20 Jun 2003 14:29:02 +0100


=20
> > > [SimpleLineEditor]
> >=20
> > It seems to behave strangely here:  I can delete the=20
> prompt, and if I
> > move the cursor to the left and delete some characters, the=20
> characters
> > to the right of the cursor don't move.  Also, the backspace=20
> key doesn't
> > work, although C-Backspace does work (backspace works fine with
> > readline).  This is in an xterm; in a cygwin shell window different
> > strange things happen.
>=20
> There were a couple of bugs (now fixed) in the version I posted which
> account for being able to delete the prompt, and for some strange
> behaviour when retrieving history whilst in the middle of the line.
>=20
> But I'm also perfectly well aware that a different terminal=20
> environment
> might completely mess up some assumptions in the keystroke lexer.
> For instance, in a gnome-terminal, ^H and backspace register as the
> same single character, but in cbreak mode the former is echoed to
> screen as two characters, whilst the latter is apparently echoed
> as one.  Or least, that was the case yesterday - today they seem to
> be the same!
>=20
> Perhaps the best way to take care of such differences is by turning
> off terminal echo, but sadly there is no portable Haskell'98 method
> for that.

Hmm.  I'm highly dubious that this can be done portably enough to be
worthwhile.  The only way to get information about the terminal is by
consulting termcap or terminfo, otherwise you're just guessing.  Even
Xterm itself differs in what keystrokes it generates between versions of
XFree86, and even between vendor releases (RedHat IIRC uses its own key
mappings in XTerm and has a special termcap entry).

Isn't this just a pile of bug reports waiting to happen?  Or a
neverending maintenance headache?

Cheers,
	Simon