秀丸で開こうとすると固まるファイルがあNo.36416
gsa さん 18/03/18 07:00
 
お世話になっております。

表題のような現象があるのでご報告いたします。

PrestaShopというオープンソースのECサイト構築プログラムがあり、
そのindex.phpを開こうとすると秀丸が固まってしまいます。

630kbぐらいのテキストファイルで文中にbase64の長い行がある
のでそのあたりが怪しい気がしますが、サクラエディタでは普通に
開けるのでこのファイルに関して秀丸の処理がおかしい気がします。

この会議室は添付ファイルができないようなので、
当該ファイルの入手方法を書きます。

https://www.prestashop.com/en

このページの PrestaShop 1.7.3.0 をダウンロードし(会員登録は不要ですが要メア
ド入力)、
prestashop_1.7.3.0.zipを解凍すると、展開先に
・index.php
・prestashop.zip
の二つのファイルができますが、このindex.phpです。

Ver8.79 32bit版で現象を確認しております。(OSはWin10です)

よろしくお願いいたします。

[ ]
RE:36416 秀丸で開こうとすると固まるファNo.36417
秀丸担当 さん 18/03/19 08:18
 

お手数をお掛けして申し訳ありません
ご連絡いただいたサイトのファイルを開いてみたところ、そのままでは再現しなかっ
たのですが、正規表現の検索や強調表示で特定のパターンがあるときに非常に時間が
かかる状態になることがあるようでした。
例えば、[その他]→[ファイルタイプ別の設定]→[デザイン]→[強調表示]で正規表現
を使ったものがあって、ヒットの可能性を探るパターンが多くなる書き方の場合にそ
うなっている可能性があると思います。
とりあえずの回避策としては、強調表示が原因だとしたら、phpを開いた状態で、[そ
の他]→[ファイルタイプ別の設定]→[デザイン]→[強調表示]を「なし」にするか、
該当となる正規表現だけを消すと回避できると思います。
他にも複数行コメントやファイル名と思わしき場所など正規表現で計算する箇所ばあ
る場合、問題になる可能性があります。
1つの再現方法として、[その他]→[ファイルタイプ別の設定]→[デザイン]→[表示]
の「Email,URL,ファイル名のカラー表示のカスタマイズ」の「ファイル名と思わしき
場所」を正規表現にしたときの、あらかじめ入力されている「([a-z]:|\\\\|)[a-z0-
9\-_.\\/]+\.(txt|html?|c|cpp|h)」の場合で再現することがわかりました。
次のバージョンのβ版では少なくともどういう理由でそうなっているのか表示や、強
制終了させる手段の対策をしてみます。


[ ]
RE:36417 秀丸で開こうとすると固まるファNo.36419
秀丸担当 さん 18/03/19 09:41
 

V8.81β1を作成しました。
以下のページの「先行開発バージョンはこちら」からダウンロードできます。
http://hide.maruo.co.jp/software/hidemaru.html

このバージョンで開いた場合、もし検索や強調表示で時間がかかっている場合、右下
にバルーンが表示されるようになって、どこで遅いのかが表示されて特定がしやすく
なっています。
ただ、強調表示だとしたら強調表示ということがわかるだけで、その中のどれかまで
はわからないです。
バルーンをクリックして、強制終了と共に、可能であれば最後の状態を別ファイルに
保存することができます。
お手数をお掛けして申し訳ありませんが、これで特定できたら、該当と思われる正規
表現を教えていただけると、該当するパターンでの何らかの対策ができるかもしれま
せん。

強調表示というのは推測なので、全く違う原因かもしれないです。
該当するものがわからない場合など、もし差支えなければ[その他]→[設定内容の保
存/復元]で設定をファイルに保存したものを"taki@maruo.co.jp"まで送っていただけ
るとこちらでも同じものが再現できると思います。

[ ]
RE:36419 秀丸で開こうとすると固まるファNo.36429
秀丸担当 さん 18/03/22 10:11
 

HmJre.dllを対策したもので更新して、V8.81β2を作成しました。
以下のページの「先行開発バージョンはこちら」からダウンロードできます。
http://hide.maruo.co.jp/software/hidemaru.html

もし、こちらで確認できたものと同じ、ファイル名と思わしき場所をカスタマイズし
たものか、それの類似の正規表現パターンだとしたらこれで回避できると思います。
もし再現条件が違うとしたら、教えていただけると助かります。

[ ]
RE:36429 秀丸で開こうとすると固まるファNo.36438
秀丸担当 さん 18/04/02 09:02
 

その後メールで再現する情報をいただきました。ありがとうございます。
メールでV8.81β3の確認等連絡いただいたのですが、ここにも書かせていただきます。
再現する条件は、こちらで確認できていたファイル名用の1回の正規表現とは違って
いました。
少しだけ遅い正規表現が大量に呼ばれることが問題でした。
大量に呼ばれること自体を無くすことはできないのですが、V8.81β3の修正で、少な
くとも固まる状況を抜け出せやすくする対策をしました。
強調表示の計算に時間がかかる場合のメッセージを処理の途中でも早めに表示して、
中断可能にしています。

[ ]