[リストへもどる] [返信 ]  [新着記事] [最新50] [ワード検索] [過去ログ]

記事閲覧・返信


タイトル nif_tree.def 改造版 v8c
投稿日: 2024/06/13(木) 19:25
投稿者konno
 番 号 11302       コメント数 1

nif_tree.def を使っていたら、いくつか不具合に遭遇しました。
文太さんに頂いた 1メガ超のDC過去ログを見ていたら
特定のファイルで、ジャンプ先が該当発言番号より手前になるんです。
具体的には DC14階の
2008/08/08 14:02 1,007,705 DC14~003.LOG
2008/08/08 14:09 1,017,395 DC14~021.LOG
この2つで現象が起きました。

古い nif_tree.def でも同じです。
各種DOSエミュ、各種VZ で同じ症状が出ます。
特定のファイルで出るということは、作成されているデータがおかしいかも。
nif_tree.def を起動すると、ログフォルダの下に CT フォルダが作られて
ログファイルと同じ名前の番号ジャンプデータが作られます。

件のデータは、文太さんから頂いた当時からあったものです。
2004/10/23 18:27 66,757 DC14~003.LOG
2006/09/14 16:25 57,826 DC14~021.LOG

結構古いデータですね。
このデータをリネームして新規データを作成したら、正常にジャンプしました。
この新旧データを比較したら、かなり違いがありました。
ジャンプ先アドレスはもちろん、コメントなどのツリー構造も違ってました。
初期の nif_tree.def のバグのようです。
飛び先がおかしいと思ったら、このデータを削除して作り直すのが良さそうです。


さて、これで安心、と思ったら、今度は起動に失敗するケースが有りました。
やはり同じ 1メガ超のDC過去ログです。
色々実験してみてわかったこと。

通常にログファイルをオープンした場合は正常に起動します。
オープン窓の履歴から開くと起動失敗しておかしくなります。
色々試してみると、どうやらテンポラリエラーになっているようです。
これも各種DOSエミュ、各種VZ で同じ症状が出ます。

ということで、テンポラリエラー対策を入れてみました。

nif_tree.def 67行目から

#W

ky[, #M ((wa..64)[) ((wa..63)[)
mp[=2,ps[, eu[-,

  ↓

#W ;--- DATA LOG
; ---- テンポラリエラー対策 ★
#M ;カーソル位置マーク
&00 p=r, ;自前バッファ pの先頭アドレスを取得 ★
&Le(p,wa+126) ;mark0の値をp先頭に擬似プッシュ ★
ky[, ((wa..64)[) ((wa..63)[) ;カーソル位置マーク、ロング
pn.7=pn.8-, ; pn.7=pn.8-,: プロファイル呪文 m.gann
#] (mr==1)?{ &a(37) (r<=0)?. } ; &Im(pn+7,0) としてもよい
#L (s==4)?'n' #P #m mr$80, ; クローズ・オープン
&Le(wa+126,p) ;mark0の値をポップ ★
#U ;現在位置に戻す

mp[=2,ps[, eu[-,


207行目の 09: の前に

00: (3+$)."$[8]"

を追加しました。
うまく動いているようです。

ということで、改造版 nif_tree.def v8c を公開します。

#txt:NIF_TR8c.DEF

右クリックで保存できます。
ファイル名が違っているのでリネームしてお使いください。

   - No.11302 一括表示へ   -        pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11302.nif_tree.def 改造版 v8c - konno konno 24/06/13-19:25
 ┗11304.このタイトルでよいのか - めざら 24/06/14-23:38
  ┗11305.Re: このタイトルでよいのか - konno 24/06/14-23:57

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

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