ダイレクトタグジャンプNo.07661
777 さん 01/02/25 02:43
 
はじめて投稿します。

ダイレクトタグジャンプは非常に便利あり、多用しています。
そこで1つ不思議な現象に出くわしました。
関数名がcontrol()に対し、ダイレクトタグジャンプを使用するとコントロールパネルが起動
します。
数台のパソコンで試してみましたが同じ結果になりました。

秀丸のバージョンは3.08、OSはWindows98です。

[ ]
RE:07661 ダイレクトタグジャンプNo.07664
TAKA さん 01/02/25 14:49
 
こんにちは。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にしています。

仕様であれば仕様でいいのですが、少し気になったので質問させて
もらいました。

それとも、私は「自動」の仕様を勘違いしているのでしょうか?

[ ]
RE:07664 ダイレクトタグジャンプNo.07666
777 さん 01/02/25 23:12
 
>こんにちは。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にしています。
>
>仕様であれば仕様でいいのですが、少し気になったので質問させて
>もらいました。
>
>それとも、私は「自動」の仕様を勘違いしているのでしょうか?


TAKAさん、ごめんなさい。
秀丸のバージョンを勘違いしていました。
バージョン3.07の誤りです。

test.cppを下記のように作成しました。
ファイルはc:\testに保存しました。
int control()
{
}

作成されたtagsの中身です。
C:\TEST\test.cpp(1) : int control()

test.cppから「その他」-「ダイレクトタグジャンプ」を実行するとコントロールパネルが起
動しました。
tagsから、「その他」「タグジャンプ」を事項するとtest.cpp起動しました。

この現象はバージョン3.05でも起きました。(OSはWindows98)




[ ]
RE:07664 ダイレクトタグジャンプNo.07682
秀丸担当 さん 01/02/27 17:14
 
>以上のことから、
>「自動」のルールには、行の強調表示がある場合はそれらを優先さ
>せるために、関数は無条件追加にならない。
>行の強調表示がない場合は、関数は無条件に追加される。
>という仕様になっているようですが、これは仕様でしょうか?

自動は、強調表示に「行の強調表示」が含まれる場合、行の強調表示
だけをtagsファイルに出力します。
強調表示ファイルが指定されていても、その中に「行の強調表示」が
1つも含まれない場合は、c言語の関数を出力します。

[ ]
RE:07666 ダイレクトタグジャンプNo.07683
秀丸担当 さん 01/02/27 17:14
 
>test.cppを下記のように作成しました。
>ファイルはc:\testに保存しました。
>int control()
>{
>}
>
>作成されたtagsの中身です。
>C:\TEST\test.cpp(1) : int control()
>
>test.cppから「その他」-「ダイレクトタグジャンプ」を実行するとコントロールパネルが
>起動しました。

これとほぼ同じようにして試してみましたが、再現できませんでした。
OSはWin98SEです。
tagsファイルの有る無いに関わらず、「ファイル名と思わしき場所のカラー表示」
が有効になっていると、ダイレクトタグジャンプは別の機能として働きます。
カラー表示された部分が、スタートメニューの「ファイル名を指定して実行」で文
字を入力して開くのと同じ動作になります。
すなわち control.exe という文字があれば、これがカラー表示され、ここでダイ
レクトタグジャンプをすると、コントロールパネルが起動します。


[ ]
RE:07682 ダイレクトタグジャンプNo.07684
TAKA さん 01/02/27 19:40
 
>自動は、強調表示に「行の強調表示」が含まれる場合、行の強調表示
>だけをtagsファイルに出力します。
>強調表示ファイルが指定されていても、その中に「行の強調表示」が
>1つも含まれない場合は、c言語の関数を出力します。

やはり、仕様でしたか。了解しました。


「ファイル名と思わしき場所のカラー表示」が有効になっていると、
ダイレクトタグジャンプは別の機能として働くというのは、今回初
めて知りましたが、777さんの所では、
int control()
で、ダイレクトタグジャンプをするとコントロールパネルが開くと
いうことですが、ファイル名と認識されるはずはないのに何故でし
ょうね。
コントロールパネルが開く人はいますか? > ALL

[ ]
RE:07684 タ゛イレクトタク゛シ゛ャンフ゜No.07686
ひろ さん 01/02/27 20:06
 
 777 さん、TAKA さん今日は、ひろです。
> コントロールパネルが開く人はいますか? > ALL
 Windows98+IE 5.5+秀丸 Ver.3.08b2 ですが、正しい動作をします。

[ ]