[PATCH 17/16] Do not reset UTF8 on terminal reset

Jan Engelhardt
2007-04-02T07:34:16Z

On Apr 2 2007 14:49, Antonino A. Daplas wrote:
>On Sun, 2007-04-01 at 20:13 +0200, Jan Engelhardt wrote:
>
>> Allow for the palette to be exposed and changed via sysfs. A call to
>> /usr/bin/reset will slurp the new definitions in for the current
>> console.
>
>I like this. The escape sequences to change the palette does not stay
>permanently.

As much as you like it, there is a slight problem with it. Linux will
currently throw virtual consoles out of UTF8 mode when reset is called.

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`).

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Daniel Jacobowitz <dan@debian.org>
Cc: Paul LeoNerd Evans <leonerd@leonerd.org.uk>
Obsoletes: https://bugzilla.novell.com/show_bug.cgi?id=225853

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;
#<EOF>