From: MINAMI H. <mi...@ch...> - 2001-12-13 11:16:05
|
南です On 12 Dec 2001 04:27:30 +0900 Araki Ken <j00...@ip...> wrote: > o 1. Test of cursor movements > すべてパス たぶんだれも使わない部分ではありますが、 1. Test of cursor movements の三番目 Test of cursor-control characters inside ESC sequences. Below should be two identical lines: で A B C D E F G H I J K L M N O P Q R S A B C D E F G H I J K L M N O P Q R S となるべきところ A B C D E F G H I J K L M N O P Q R S ABCDEFGHIJKLMNOPQRS になりました。 シーケンス中にコントロールコードのある場合の処理ですが rxvt-2.7.7 では * ESC - [ - 2 - <0x08> ... => BackSpace + ESC - [ - 2 - ... (画面端では順序を気にするべき?) * <0x08> は高々一つしかない (複数でも対応する?) として処理しているようなので、手元では下のようにしてみました。 --- CVS-orig/mlterm/src/ml_vt100_parser.c Thu Dec 13 19:47:18 2001 +++ CVS/mlterm/src/ml_vt100_parser.c Thu Dec 13 19:56:32 2001 @@ -944,7 +944,24 @@ #ifdef ESCSEQ_DEBUG + if( *str_p < 0x20 || 0x7e < *str_p) + { + fprintf( stderr , "<%x>" , *str_p) ; + }else{ fprintf( stderr , "%c" , *str_p) ; + } #endif + if( *str_p == 0x8 ) + { + cursor_back( vt100_parser , 1) ; + if( increment_str( &str_p , &left) == 0) + { + return 0 ; + } + } if( *str_p < 0x20 || 0x7e < *str_p) { |