On Mon, 2007-04-02 at 12:26 +0100, Paul LeoNerd Evans wrote: > On Mon, Apr 02, 2007 at 09:31:37AM +0200, Jan Engelhardt wrote: > > Also see: > > http://lkml.org/lkml/2005/5/17/289 > > http://lkml.org/lkml/2005/5/17/297 > > > > These posts argue about terminfo being the culprit. But how can terminfo > > be at fault, when `echo -en "\ec"` triggers it too? > > > > Since I am in a patch mood, here's my stance/patch, which is compile and > > run tested and behaves as expected (both with `echo` and `reset`). > > ... > > > Index: linux-2.6.21-rc5/drivers/char/vt.c > > =================================================================== > > --- linux-2.6.21-rc5.orig/drivers/char/vt.c > > +++ linux-2.6.21-rc5/drivers/char/vt.c > > @@ -1518,7 +1518,6 @@ static void reset_terminal(struct vc_dat > > vc->vc_charset = 0; > > vc->vc_need_wrap = 0; > > vc->vc_report_mouse = 0; > > - vc->vc_utf = 0; > > vc->vc_utf_count = 0; > > > > vc->vc_disp_ctrl = 0; > > # > > Is it OK to do that? I recall when I was originally looking at the code > I didn't want to just remove that line, because it looked like that was > being used to first initialise the vc* structure when it is created, as > well as reset it every time. Doesn't this leave vc->vc_utf uninitialised > when a new VC is allocated? That's true. We can move the line vc->vc_utf = 0; in vc_init() instead. Tony