ダイレクトタグジャンプについてNo.01051
SideTail さん 98/05/19 13:32
 
始めまして、SideTail と申します。

ダイレクトタグジャンプについて質問させていただきたいと思います。
関数名がその関数の定義されているソースファイル名(拡張子を除く)と同じ場合、
ダイレクトにタグジャンプできません。飛び先指定のダイアログボックスが表示され
てしまいます。
このダイアログボックスのリストには、当該ソースファイルの中のすべての関数が列
挙されます。
回避策等ありましたらお教えいただきたいと思います。

環境は以下のとおりです。
秀丸エディタ for Windows95 Version 2.22
Windows NT 4.0(SP3)

[ ]
RE:01051 ダイレクトタグジャンプについてNo.01056
秀丸担当 さん 98/05/19 19:15
 
>ダイレクトタグジャンプについて質問させていただきたいと思います。
>関数名がその関数の定義されているソースファイル名(拡張子を除く)と同じ場合、
>ダイレクトにタグジャンプできません。飛び先指定のダイアログボックスが表示され
>てしまいます。
>このダイアログボックスのリストには、当該ソースファイルの中のすべての関数が列
>挙されます。
>回避策等ありましたらお教えいただきたいと思います。

2.22よりも少し前のバージョンあたりでは、そのような問題もありましたが、
2.22では解決されていると思います。
また、すべての関数が出てきてしまうというのは、以前にも報告はありません。
間違ってF11の関数一覧を押しているとか?

[ ]
RE:01056 ダイレクトタグジャンプについてNo.01061
SideTail さん 98/05/20 09:50
 
残念ながら間違いではありません。
たとえば、以下のようなソースファイルがあるとします。
ファイル名は abc.c です。

int abc()
{
}

int def()
{
     abc();
}


ここで、def() の中の abc() 呼び出しでダイレクトタグジャンプを試みると(Ctrl+
F10)以下のダイアログボックスが表示されます。
これは、ジャンプ元のソースファイルが異なっていても同じです。
秀丸のバージョンは、2.22 です。

+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
|ダイレクトタグジャンプ飛び先指定                            |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−|
|tagsファイル内に該当する飛び先が複数見つかりました。飛び先を|
|指定してください。                                          |
|+−−−−−−−−−−−−−−−−−−−−−−−−−−−+  |
||abc.c(1):int abc()                                    |  |
||abc.c(1):int def()                                    |  |
|+−−−−−−−−−−−−−−−−−−−−−−−−−−−+  +
|                                                            |
|                    OK          キャンセル                |
|                                                            |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+



[ ]
RE:01061 ダイレクトタグジャンプについNo.01071
秀丸担当 さん 98/05/22 16:25
 
>残念ながら間違いではありません。
>たとえば、以下のようなソースファイルがあるとします。
>ファイル名は abc.c です。

試してみたところ、あっさり再現しました。
同じファイルの関数が開けないのではなく、別の個所にバグがあるようです。
調べておきます。

[ ]
RE:01071 ダイレクトタグジャンプについNo.01242
Nobu さん 98/06/23 20:48
 

>試してみたところ、あっさり再現しました。
>同じファイルの関数が開けないのではなく、別の個所にバグがあるようです。
>調べておきます。

ファイル名の一部分にでも、同じ関数名が含まれている場合、tagsファイル
内にその関数は見つかりませんでした。となりました。
実際のtagsファイル内では関数は認識されていました。
・・・ a_abc.c 関数名 abc()
・・・ abcde.c 関数名 abc()
等。

[ ]