今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル VTDOSとXP(NTVDM)の共通点?
投稿日: 2022/02/26(土) 19:34
投稿者konno
 番 号 10178    10177 番 konno さんへのコメント    コメント数 1

探してみたら、こんなものがありました。

> 05665/05668 xxxxxxxx  Emmett           VZBUG(2) サイレントモード関連のバグ
> (15)   97/04/15 10:58

> ■ VZバグ大全(2):サイレントモード関連のバグ

> (A)サイレントモードでの #k または #y の反復
>  サイレントモードで、非ブロックモードでの行記憶またはカット(#k、#y)を連
>   続して実行すると、ある特定の点までくると、テキストスタックに格納される文
>   字列の最後が化けることがあります。


これは非ブロックモードの話なので、今回は違うかもしれませんが

> (B)サイレントモードでの #_
>   どうやらサイレントで実行された #_ は、特定の条件下でカーソル位置ポインタを
>   算出しまちがえるらしい。

>  このトラブルは、 #_ 直後に #? などで最終行を一度表示してやれば回避するこ
>   とができます。これは #_ 直後でなければ駄目で、#38 のあとでは遅すぎます。
 
>   ・サイレントでの #_ のあとには #? &s
>  と習慣づけておくといいでしょう。


どうやらこれが関係ありそうです。
高橋版でもこのバグは潰しきれなかったような気がします。

 [ESC]I @I "I カーソル位置へ挿入" のマクロを

;	#b #_ (ct)?{ #> #m #x }
	#b #_ #? &s (ct)?{ #> #m #x }

このようにするか、&s を取ってしまうと、改善がみられました。

前回と同じ条件で実行して、ファイルサイズが一致するようになりました。
ただし、中身はおかしくなっているようです。
これはおそらく VTDOS の EMS がらみの不具合と思われます。

この実験で、榊原版VZだけは、ファイルサイズが小さくなりました。
ファイル挿入が途中で終わっているのか、それとも?


今まで実験に使用した生ログファイルは

 280,386 wf_log.cgi
 380,844 wf_log130407.cgi
 381,081 wf_log130408.cgi

このうちの 381k のファイルの途中に 380k のファイルを挿入していました。
挿入する 380k のファイルに問題があるのか確認のため、今度は
 280k のファイルの途中に 380k のファイルを挿入する実験をしました。

そうしたら、榊原版以外の VZ は正常に終了しました。
榊原版VZだけは、ファイルサイズが2バイト大きくなりました。
改行が1つよけいに入っていました。

この現象について、野ざらし言#4651 で、めざらさんの発言

> テキストスタックに複写する際に,テキストバッファサイズの境界付近に
> たまたまラインバッファサイズを超える長い行が存在した場合の振る舞い
> (結構レア?)に係ることかもしれないですね。「新発見」かも。

これが関係しているかもしれないと私も思いました。

ただ、MSDOS Player と DOSVAXJ3 では正常に動作しているのが謎なのです。
プラットフォームのメモリ管理とVZの相性で不具合が出ているのではないかと感じるのです。
VTDOSとXP(NTVDM)の共通点は、32ビットのメモリ管理で16ビットのVZを動かしているところ?

    - No.10178 一括表示へ   -   コメント元:10177 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
10177.VTDOSで[ESC]I "カーソル位置へ挿入"不具合 - konno 22/02/21-22:10
  ┣10178.VTDOSとXP(NTVDM)の共通点? - konno 22/02/26-19:34
  ┃┗10179.もしかして ia32 の問題絡み? - konno 22/02/27-15:23
  ┃ ┗10187.VTDOSでTPAEXT=1 は危険かも - konno 22/05/28-00:36
  ┣10180.製品版 [ESC]I マクロのバグは、#B だった - konno 22/02/28-18:06
  ┣10290.VTDOS だけ実行出来ないコマンドがある? - konno 22/09/10-23:24
  ┗10301.VTDOSで command /c 実行出来ない? - konno 22/09/25-18:00
   ┗10302.command.comは実行ファイルのPATHに置いたら駄目 - konno 22/09/25-20:54

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]