「大きい[+]/[-]マーク」が表示されない関No.31220
小川 さん 12/05/18 00:49
 
OS : WindowsXP SP3 (32bit版)
秀丸 8.10

C++での開発に秀丸を使っています。

「アウトライン解析」が「関数一覧」のとき、
「アウトライン解析との対応」にチェックを入れていても、
「アウトライン解析一覧」に載っている関数にも関わらず、
「大きい[+]/[-]マーク」が表示されない関数がたまにあります。

確実な再現方法は不明です。

そもそも「アウトライン解析」の「関数一覧」は、C/Java用なので、C++は未対応と
いえば未対応のは把握しています。
(しかし、「関数一覧」に載っていて「大きい[+]/[-]マーク」が出ないのは不可解
に感じます)

別ファイルに動かすときちんと表示されたり、
同じファイルのまま、該当関数だけにして、C言語風の関数にしても直らなかったり、
ふと気付いたら直っていたりと、なんとも謎です。
//***
という行(セパレータ的に使っています)が怪しいかも?かも?

確実な再現方法が確定しなかったので、何とも曖昧なバグ報告ですが、
なんとなく覚えておいて頂けると幸いです。

以上です。よろしくお願い致します。

[ ]
RE:31220 「大きい[+]/[-]マーク」が表示No.31223
秀丸担当 さん 12/05/18 10:48
 

>「アウトライン解析」が「関数一覧」のとき、
>「アウトライン解析との対応」にチェックを入れていても、
>「アウトライン解析一覧」に載っている関数にも関わらず、
>「大きい[+]/[-]マーク」が表示されない関数がたまにあります。

報告ありがとうございます。
こちらで試してみた限りではうまく再現できなかったのですが、アウトライン解
析は時間差で動くので、もしかしたらその時間差によって表示が遅れているとい
うこともありうると思います。

例えば「/*」と入力すると、それ以降の関数(*/までの)がアウトライン解析に
は表示されなくなりますが、キー入力で「/」「*」と入力して「*」をキーリ
ピートでずっと入力し続けると、その間の大きい[+]/[-]は更新されないです。
入力をやめてから、少しの時間差で反映されます。

この時間差はアウトライン解析が「ツリー表示」で複雑な定義をしていたり正規
表現で複雑なものが多いと遅延が長くなる傾向があります。
「関数一覧」だけの場合は比較的速いですが、ソースの量が多いとそれに比例し
て遅延しやすいです。

あと、単語補完も同時に動いていると、それも遅延要因となるので、単語補完で
補完の候補を探しているときはそれも関係している可能性があると思います。
[その他]→[動作環境]→[ウィンドウ]の横スクロールバーの詳細の「横スクロー
ル可能な上限を自動調整する」も遅延要因になります。

いまのところ思いつくのはこのことですが、いくら待っても反映されないとした
ら何らかの不具合があるのだと思いますが、どういうときにそうなるのかは不明
です。
遅延によることではないことだとしたら、不具合の可能性があるので、もし関係
しそうな条件が何かあるようでしたら報告いただけると助かります。

あと、この件とは直接関係無いですが、参考までの情報として、折りたたみ用の
余白に関するバグ修正がV8.12のときに1つありました。
マクロ実行の秀丸間の切り替えで、折りたたみ用の余白があると切り替えがうま
くいかない修正をしていました。

[ ]