いつの間にか.hilightファイルが読めなくNo.40192
fzok4234 さん 22/12/19 09:59
 
おはようございます。Fzok4234 です。


さて、最近になって「ファイルタイプ別の設定」->「デザイン」の「保存/読込」ボ
タンから
I:\apparchives\share\document\text\Hidemaru\Macro\Hilight\CSharp\provisional
\minimum\CS.hilight
ファイルを読み込んでから「ファイルタイプ別の設定」ダイアログの「OK」をクリッ
クすると、

---------------------------
秀丸エディタ
---------------------------
hilightファイル名が長すぎるため設定できません。
---------------------------
OK  
---------------------------

というエラーが出てこの .hilight ファイルを適用できなくなってしまいました。


環境は、秀丸エディタ 9.20β5 Float x64 です。



[ ]
RE:40192 いつの間にか.hilightファイルがNo.40193
秀丸担当 さん 22/12/19 15:51
 
hiligtファイルの指定は79文字までということになっているのですが、hiligtファイ
ル直接指定モードでないときでも、その制約がありました。
直接指定モードでなければ、警告は出てもそのまま続行できるようになったほうがよ
かったです。
そのように修正致します。

そもそも制約をなくしたほうがいいという話はあるのですが、互換性のこともあって
今もあります。
[その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]→[強調表示のフ
ァイル名を表示する]がONの場合、直接指定モードでないときでも設定画面に現れます。
一応読み込んだ後のファイル名は、マクロのhilighttitleや秀tagsで関連はあること
になっています。
このとき超えていても、関連づいたファイル名は空にして無視できるようにします。

[ ]
RE:40193 いつの間にか.hilightファイルがNo.40194
fzok4234 さん 22/12/19 23:13
 
一応、現時点での暫定的な対処として、.hilight ファイルをユーザーごとの設定フ
ァイルディレクトリ
%AppData%\Hidemaruo\Hidemaru\Setting
にコピーすることで、無事に読み込むことができました。


> 直接指定モードでなければ、警告は出てもそのまま続行できるようになったほうが
>よかったです。
> そのように修正致します。

警告メッセージを出すか出さないかのオプションを「動作環境」とかに設けた方がよ
いと思います。
というのは、.hilight ファイルのデバッグなどで何度も繰り返して読み込みを行う
必要があるとき、
その度にメッセージボックスが表示されるのはかなり鬱陶しいからです。


> そもそも制約をなくしたほうがいいという話はあるのですが、互換性のこともあっ
>て今もあります。
> [その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]→[強調表示の
>ファイル名を表示する]が
> ONの場合、直接指定モードでないときでも設定画面に現れます。
> 一応読み込んだ後のファイル名は、マクロのhilighttitleや秀tagsで関連はあるこ
>とになっています。

設定画面への表示や hilighttitle の値などが 80 文字以上になると、具体的にどの
ような互換上の弊害が
あるのでしょうか ?

それから、loadhilight や savehilight では引数のフルパスが 80 文字以上になる
場合はどのような挙動に
なるのでしょうか ? また、これでエラーになる場合は、設定ファイルディレクトリ
からの相対パスを引数に
指定することで対処可能でしょうか ?


> このとき超えていても、関連づいたファイル名は空にして無視できるようにします。

hilighttitle に関してはこのように仕様変更するものとして、新たに hilighttitle
2 キーワードとかを
新設してこちらでは 80 文字以上のフルパスも正しく返すようにしたほうがよいと思
います。



[ ]
RE:40194 いつの間にか.hilightファイルがNo.40195
秀丸担当 さん 22/12/20 11:38
 
直接指定でないときの警告メッセージは、邪魔になりそうということで、とりあえず
何も表示しないようにしようと思います。

loadhilightで超えていた場合は、途中で切れるようになってしまっていました。
エラーが出る前のバージョンでも途中で切れていたので、切れないようにエラーにし
ていました。
どっちも合わせるようにします。

実際レジストリに超えた文字列が記憶されていると、それは読み込み失敗とみなされ
て空でした。
つまり途中で切れるより、そのまま何も考えずに超えて保存して、空とみなされたほ
うが都合がよかったです。
バッファを超える可能性があることは極力避けたいので、慎重に考えたいですが、そ
のまんま超えて保存する方向でやってみようと思います。

[ ]
RE:40195 いつの間にか.hilightファイルがNo.40196
秀丸担当 さん 22/12/20 12:00
 
あとloadhilightで相対パスを書いた場合は、設定ファイル用のフォルダからの相対
パスと解釈するようになっていました。
このあたりもヘルプに書いておきます。

[ ]