#2398でも同様な質問をしています。 たびたび同じ質問をすることをお許しください。 最初に気がついたのはポケ3でした。 ところが、メインマシンでも再現しています。 つまり、Vzの版はポケ3版とAT版、環境はDOS3とWinXPのDOS窓、ついでに VTDOSでも再現することを確認しました。 かつて、TTY時代のニフティで、ちょっと開いただけですぐ閉じてしまった ファイルもヒストリーに登録できないか、と相談したことがあります。 nifty:FGALDC/MES/13/06150(1999/09/24)です。 その際には、耳而夢斎氏より、m.gannさんのワザを教えていただきました。 8 "!Close" s-, &Im(pn+7,0) ;clear bug VZ @, w_act0 .. ss[+, (ln==1)?&y(1) ss], ;[;] to history all これをCloseイベントに仕込むことにより、オープンした全てのファイルの 履歴をとることができるようになるとのことでした。 PC-98でDOSを使っていた当時は、これで不満がなくなりました。 ところが、最近、ポケ3で、オープンしてすぐにクローズしたファイルが ヒストリーに登録されないことに気がつきました。もちろん、上記の Closeイベントは登録してあります。 条件としては、以下のような感じです。 ・入力ファイル窓に直接ファイル名を入力したときには常にヒストリーに 登録されます。 ・ファイラーから開いてすぐに閉じたときはヒストリーに登録されません。 あたかも、上記のクローズイベントが効いていないような感じです。 なんか条件があるのでしょうか。 あと、関連のありそうな追加情報。 srは39です。 vzfl.defに 1 "!Close" pv.103+, ; ★ファイラーに戻るお呪い という登録があります。 ということで、何か心当たりがある方がいらっしゃったら、なんでも結構 ですので、ヒントをいただけると幸いです。
> ちょっと実験してみてください。
> そのとき,ファイル名入力窓になるのか,ファイラになるのか確認します。
> このとき,最初に出てくる履歴は先ほどオープンしたファイルでしょうか。
> 直前に開いた.defファイルは履歴に残っているか確認します。
> 直前に開いた.batファイルは履歴に残っているか確認します。
> さて,実験結果はいかがだったでしょうか。
> うちの環境では,.txtと.defは履歴に残り,.batは履歴に残りませんでした。
> えーと,理由はまだわかりません。(^^;
> あたかも、上記のクローズイベントが効いていないような感じです。
> vzfl.defに
> 1 "!Close"
> pv.103+, ; ★ファイラーに戻るお呪い
> という登録があります。
> このせいではないですか。おおむね、あたりのようです。 vz.defの記述を変えず、vzfl.defに以下のように記述してみたら 1 "!Close" pv.103+, ; ★ファイラーに戻るお呪い s-, &Im(pn+7,0) ;clear bug VZ @, w_act0 .. ss[+, (ln==1)?&y(1) ss], ;[;] to history all うまくヒストリーに記録されるようになりました。 が、あれ? ポケ3で試した範囲では、全く問題は出ていません。 が、自宅のWinXPでは、妙な挙動です。 .txt、.def、.cfg、.batというファイルは記録されるのですが、.logは記録 されません。めざらさんのところで発生しているのと類似の事象です。 これは、コマンドプロンプトとVTDOSで同事象です。 なお、私のところの「E その他」は以下のようになっています。 3 .doc .txt .bat .DEF .H .C .CPP .inc .asm .nif .fty .log .PAS .DPR .htm .CGI .AWK 念のため、.pasと.dprも試してみましたが、両方とも記録されました。 なので、大文字と小文字の違い、というわけでもなさそうです。 また、めざらさんのところで記録されない.batがうちでは記録されている というのも謎です。 とりあえず、ポケ3で.logファイルが記録されるようになったので、当面 の問題は解決ですが、まだ少し謎が残っています。 また、イベントマクロをvz.defとvzfl.defの両方に記述するとうまく動作 しないというのも、取説どおりの動作とはいえ、はまりやすいところかも しれません。とはいえ、両方に記述する可能性のあるイベントは!Closeの 他は!Openぐらいしかないから大丈夫かな。
> 拡張子の問題ではなく,環境変数vzlogの設定によるのかもしれません。
> 私は、WinXPではvzlogを設定していません。
> いやいや,難しいですね。
> あと、関係あるとはとても思えないけど、私のほうではvzfl.defの9番メニューに.logが登録してない、ということくらいかなぁ。
> そういえば、めざらさんのところで.batを登録してある項目を列挙していただければ、私のほうもそれに対応した部分をチェックいたしますよ。
> なのに、母艦のほうでは
> Bv0
> になっていますね。
> vzlogを設定していないから関係ないと思っていました。うう、もしかして全然関係なかったですか、失礼しました。m(__)m ちなみに、main.asm を見ると mov ax,logtblsz ;Bv cmp ax,MIN_LOGTBL ;128bytes _if b mov ax,MIN_LOGTBL とあるので、Bvが128以下でも内部的には128bytesは使っているかも。 でもBv0の場合はlog履歴の読み書きはスキップするみたいに見えます。
> 逆に拡張子が無いファイルは0文字だろうが1行だろうが履歴に残る。
> お〜い、めざらさ〜ん(^^;
> いやー,全然わからなくて困ってます.
> うちは !Open イベントに拡張子別の設定をたくさん入れていますが
> 特に影響はないようです。
> としきさんのところではどうでしょうか。
> 8 "!Close"
> s-, &Im(pn+7,0) ;clear bug VZ @, w_act0 ..
> ss[+, (ln==1)?&y(1) ss], ;[;] to history all