|
こんにちは。TAKA と申します。
新規発言にしようかとも思いましたが、こちらにレスの形で便乗質
問させてもらいます。
>そこで1つ不思議な現象に出くわしました。
>関数名がcontrol()に対し、ダイレクトタグジャンプを使用するとコントロールパネルが起
>動します。
>数台のパソコンで試してみましたが同じ結果になりました。
>
>秀丸のバージョンは3.08、OSはWindows98です。
私の所は、Windows MEですが、再現しませんでした。
秀丸のバージョンは、3.08 β2です。
777 さんはβ1、β2どちらをご使用ですか。
今回の件とはあまり関係ないかもしれませんが、β1には、
> ・秀Tagsでルール(自動)が正規表現を多く含む場合に動作しない
という問題がありました。β2では直っているそうです。
秀丸担当さんの所にはWindows 98もあると思いますので、それで再
現出来れば問題ないのですが。
#ダイレクトタグジャンプはファイルを開くという機能しかないと
思うので、別アプリが起動することは考えにくいですが。
近いうちに、秀丸担当さんから何らかの回答があると思いますが、
もし再現出来ないようでした、いくつか推測出来ることがあります。
出来るだけシンプルに再現させるために、以下のファイルで確認し
て見て下さい。
// テストファイル(test.cpp)(ここから)
int control()
{
}
// テストファイル(test.cpp)(ここまで)
// tagaファイル(ここから)
test.cpp(1) : int control()
// テストファイル(ここまで)
この状態で、ダイレクトタグジャンプを行っても同じ現象が出るで
しょうか?
もし、この状態では再現しないようであれば、次のようなことが考
えられます。
tagsファイルの中に、
c:\windows\control.exe(??) : ???????? control ???????
という記述がないでしょうか?
もしあれば、コントロールパネルが秀丸で開かれます。
777 さんの所では、コントロールパネルが起動ということですので、
さらに次のような設定をしている可能性があります。
ダイレクトタグジャンプをマクロを使用していませんか?
念の為に、「その他→ダイレクトタグジャンプ」で純粋にダイレク
トタグジャンプを行ってみて下さい。それで再現しないようでした
らマクロを使用していることが考えられます。
そのマクロ内で自前でダイレクトタグジャンプを行おうとして、、
「control」という文字列を検索して見つかったファイルの拡張子が
「exe」なので、その場合はタグジャンプではなく、アプリの起動を
行うようにしているとか。
本題の便乗質問なのですが、
tagsファイルの作成時の「ルール」に指定する「自動」について質
問があります。
// テストファイル(test.cpp)(ここから)
int control()
{
}
// テストファイル(test.cpp)(ここまで)
ファイルタイプ別の指定の強調表示に「C-simple.hilight」を指定
して
tagsファイルの作成時の「ルール」に「自動」を指定すると、
関数(control)がtagsファイルに作成されました。
強調表示されていないのに、tagsファイルが作成されたので、関数
は無条件でtagsファイルに追加されるのかとも思いましたが、
「ルール」に「C-simple.hilight」を指定するとtagsファイルには
追加されません。
自動時にのみ関数は無条件で追加されるのかなとも思いましたが、
「C-simple.hilight」の一番上に以下の1行を追加した所、tagsフ
ァイルには追加されませんでした。
// 追加内容(ここから)
21,^(struct|class|enum|union)
// 追加内容(ここまで)
「C-simple.hilight」を編集後は、内容を反映させるために「読込
み」ボタンで再読み込みをかけました。
以上のことから、
「自動」のルールには、行の強調表示がある場合はそれらを優先さ
せるために、関数は無条件追加にならない。
行の強調表示がない場合は、関数は無条件に追加される。
という仕様になっているようですが、これは仕様でしょうか?
あまり関係ないと思いますが、ファイルタイプ別の設定は「共通」
でテストしています。
「強調表示」のチェックは当然ONにしています。
仕様であれば仕様でいいのですが、少し気になったので質問させて
もらいました。
それとも、私は「自動」の仕様を勘違いしているのでしょうか?
|
|