From: Araki K. <j00...@ip...> - 2001-12-26 21:58:43
|
荒木です:-) commit log です。 * if pty encoding is stateless , state of pty encoding parser is not reset when key is pressed. * "ESC [ ? 25 h" , "ESC [ ? 25 l" sequences are supported. これまでは、キー入力や paste がある度に、tty の 文字コードパーサの状態 を初期化していましたが、stateless なエンコーディング(EUC-JPなど)な場合 には、初期化するのをやめました。 こうしないと、biew の setup 画面のキー入力の際に、Backspaceで文字を消す と "a" が出力されてしまうという問題が生じたためです。 stateless なエンコーディングであれば、キー入力や paste によって、ISO2022 の状態が不正になる(EUC-JPなのにG0にKSC1001が指示されてしまうなど)ことは ありえないようになっておりますので、これでも問題ないと思います。 ただ、stateful なエンコーディングの場合、0x00 - 0x7f の範囲が、必ずしも US-ASCII とは限らなくなるため、単にコマンド入力したい場合であっても、エ スケープシーケンスを付加する必要が生じたりして、シェルにうまくコマンド文 字列がわたらなくなったりするなど、いろいろ面倒なことが起こってしまいます。 そこで、この場合は、従来通り、キー入力の度に状態を初期化、すなわち、キー 入力時の初期状態として 0x00 - 0x7f が必ず US-ASCII になるようにしています。 # つまり、biew の問題は解決されません。 ESC [ ? 25 h , ESC [ ? 25 l は、カーソルの visual/invisual 切替えシーケン スです。 biew 使用時に、ちゃんと、カーソルが表示されなくなると思います。 では -- kiken j00...@ip... |