[ 新規に投稿する ]

"上書き保存"と"名前付けての上書き"とjs破棄No.10527
こみやんま さん 25/01/27 23:09 [ コメントを投稿する ]
  ■"上書き保存"と"名前付けての上書き"とjs破棄の仕方

あちらを立てれば、別なところが逆に不具合を起こしそうで難しいところですが、

(1)「上書き保存」
(2)「名前を付けて保存」→「ファイル名を付けて保存」→そのまま保存(結局上書き保存相当)

で、js空間の破棄の挙動が異なるのが結構気になっています。
面倒くさいので(2)は無視することにする作りになりがち

例えば、

// ---- test.mac ----

jsmode "WebView2\\" + currentmacrofilename;

js {
    debuginfo(2)
    var i=1;
    if (handle) {
        hidemaru.clearInterval(handle);
    }
    var handle = hidemaru.setInterval( () => {
        console.log("Tick" + i++);
    }, 2000);
}

というのがあったとして、aaa.txt に対して、上記 test.mac を実行した場合、

(1)だとjs実行は継続されますが、
(2)だとjs実行は止まってしまいます。(ファイル名は変化していないただの上書きにもかかわらず、ファイルに紐づけられたjs空間が破棄されるため)

他にも結構マクロで上書き保存相当等をするとjs空間を破棄するうシーンがあるのかもしれないですが、
ヘルプでいうところの

>> ファイルごとにある
>> ファイルごと(コンテンツごと)に実体があります。
>> [閉じて開く]や[ファイルを閉じる]相当で、...

あたりをもう少し厳格に示した方がよいかもしれません。

[ ]
RE:10527 "上書き保存"と"名前付けての上書き"とjs破棄No.10532
秀丸担当 さん 25/01/28 17:02 [ コメントを投稿する ]
  上書き保存時はそのままですが、名前を付けて保存時は、確かにjsは変わって破棄される思います。
同名のときは微妙なところですが、やはり破棄されたほうが一貫性があっていいと思います。
示したほうがいいということで、ご意見参考にさせていただきます。
[ ]

[ 新規に投稿する ]