タイトル | : VTDOSの $width コマンドのバグ? |
投稿日 | : 2023/04/21(金) 17:34 |
投稿者 | : konno | 番 号 | : 10778 10777 番 konno さんへのコメント コメント数 2 |
何度も差し替えてもう大丈夫か、(^^; と思ったら、何かおかしい? (vp.26==80 )?{ &00 &02 .} ;80*35行→110*26行 ここで画面の状態が何かおかしいのです。よく見ると(最近目が悪いので) 80*35行→110*26行になっているはずなのに、80*26行になっていました。 しかも VTDOSの画面は、80*35 のまま残っています。 $width コマンド単体で試してみました。 $width 80 35 の後で $width 110 26 を実行すると、上記の現象になります。 具体的には、80*26 のDOS画面になっていて、VTDOS窓自体は 80*35 のままです。 VZの VP.26 の画面幅は 110 LC の行数は 26 になっています。なんで? 色々試してみると、どうやら $width コマンドのバグのようです。 幅の数値が増えて、行の数値が減る値で $width コマンドを実行すると画面幅が変わらないようです。 ということで、VTDOS用の修正をしました。 #if VTDOS ; VTDOS (s!=2)? >h ;コマンドライン (vp.26>136)? { &00 .} ;136*35行→80*25行 (vp.26==80 && lc<=25)? { &01 .} ;80*25行→80*35行 (vp.26==80 )?{ &00 &02 .} ;80*35行→110*26行 ★ bug? (vp.26==110 )?{ &03 .} ;110*26行→136*35行 (vp.26==136)?{ &04 .} ;136*35行→168*35行 :h (s!=0)?. ;編集モード (vp.26>136)?{#E &00 w[=80, &09 .} ;136*35行→80*25行 (vp.26==80 && lc<=25)?{#E &01 w[=80, &09 .} ;25行→80*35行 (vp.26==80)?{#E &00 &02 w[=110, &09 .} ;80*35行→110*26行 ★ bug? (vp.26==110)?{#E &03 w[=136, &09 .} ;110*26行→136*35行 (vp.26==136)?{#E &04 w[=168, &09 .} ;136*35行→168*39行 . 00: &?("$width 80 25") #m ; 80×25 01: &?("$width 80 35") #m ; 80×35 02: &?("$width 110 26") #m ; 110×26 font27 03: &?("$width 136 35") #m ; 136×35 font22 04: &?("$width 168 39 %c",$0a") ; 168×39 font18 #endif このように、いったん &00 (80*25) を呼んでから &02 (110*26) を呼ぶようにしました。 この件は 10♯さんに報告しようと思います。
- No.10778 一括表示へ - コメント元:10777 一括表示へ - [ 返信 ] [引用無し] pre