ダイレクトタグジャンプの動作No.08903
こさく さん 16/01/07 10:16
 
お世話になっております、こさくと申します。

件名について動作がおかしいのでご確認願います。
昨年末にVer8.56Beta22 64bitに更新しました。

本日、ダイレクトタグジャンプを行ったところ
「tagsファイル内にその関数または・・・」のダイアログが出るようになりまし
た。
更新してから、初めてのダイレクトタグジャンプです。試しに手元にある旧版
「Ver8.56Beta7 64bit」に戻したところ正常に動作しました。

改訂履歴をザッと見ましたがそれらしい記述は無さそうですが、仕様変更などさ
れたでしょうか?

因みにtagsファイルは、三つ上のディレクトリにあり検索対象の語句は

Main\Src\abc\def.c      2147 : Xyz

この形式で書かれています。
tagsファイルはMainディレクトリと同列にあります。

Winodws7 Pro SP1 64bit

情報不足などありましたらご指摘ください。
以上よろしくお願いします。

[ ]
RE:08903 ダイレクトタグジャンプの動作No.08905
こさく さん 16/01/07 11:23
 
こさくです。

追加情報です

動作環境-tagsファイルの設定は
tags
上の階層もチェックする
大文字/小文字の区別をする
にチェックが入っています。

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

[ ]
RE:08905 ダイレクトタグジャンプの動作No.08907
秀丸担当 さん 16/01/07 12:48
 

長い空白の部分はタブ文字になっているのではないかと思いますが、タブ文字の
場合は、確かに言われている形式ではヒットしないようになっていました。

V8.56β11でのctags形式の判定についての修正が影響していました。
V8.56β11より前でも、[その他]→[動作環境]→[その他のコマンド]→[tagsファ
イル]で「関数名のみをジャンプの対象とする」がONのときは同様の問題があり
ます。

タブ文字や" : "の出現の仕方でctagsの形式であるかどうかを判断しているので
すが、" : "よりも前にタブ文字があるためctagsの形式と判断していました。
タブ文字が2つ以上など、もう少し厳密になるようにしてみます。

何らかのソフトが生成した形式だとしたら、どういうソフトが生成した形式かわ
かると助かります。
現状ではタブ文字を空白にすると設定やバージョンに関わらず回避できると思い
ます。

[ ]
RE:08907 ダイレクトタグジャンプの動作No.08908
こさく さん 16/01/07 13:41
 
こさくです。

ご確認ありがとうございます。
仰るようにその部分(ファイル名の後)はタブ文字です。

そしてtagsファイルの生成は、以下のツールを使っています。
Exuberant Ctags 5.8J1, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Jul 10 2009, 18:17:00
オプションは、次の通り
ctags --sort=no --format=1 --exclude=make --langmap=c:.c.iram --excmd=
number --tag-relative=yes --recurse=yes -f ctags

さらにこのままでは、秀丸で認識できないので、自作ツールにより調整していま
す。
Xyz Boot\\Src\\boot.s 25
  ↓ この様にしています。
Boot\\Src\\boot.s 25 : Xyz

当面、生成されたtagsファイルをタブ文字→空白に全置換するように編集して使
用します。

> タブ文字が2つ以上など、もう少し厳密になるようにしてみます。
よろしくお願いします。

[ ]
RE:08908 ダイレクトタグジャンプの動作No.08910
秀丸担当 さん 16/01/07 17:18
 

元はctagsの形式だったということで、情報ありがとうございます。
一応ctagsの形式の1つの以下の書き方(タブ区切り)の場合もジャンプはでき
ると思います。
Xyz Boot\\Src\\boot.s 25

秀丸エディタの秀tagsの形式に合わせるとしたら、以下のように空白を開けずに
括弧で数字を書くと全く同じになります。
Boot\\Src\\boot.s(25) : Xyz

問題だった点はβ23で修正してみました。

[ ]
RE:08910 ダイレクトタグジャンプの動作No.08912
こさく さん 16/01/08 09:32
 
こさくです。

> 一応ctagsの形式の1つの以下の書き方(タブ区切り)の場合もジャンプはでき
> ると思います。
> Xyz Boot\\Src\\boot.s 25
本当だ。ちゃんとジャンプしました。
当時何を思って、不要なツールを作ったんだろう。確かに動かなかった記憶
が・・・。
ツールを作ったのは2009年のことなので当時の秀丸はそのままじゃ動作しなかっ
たって事でしょうか。

> 秀丸エディタの秀tagsの形式に合わせるとしたら、以下のように空白を開けずに
> 括弧で数字を書くと全く同じになります。
> Boot\\Src\\boot.s(25) : Xyz
環境が残っていないので修正するには、環境作りが必要です。

> 問題だった点はβ23で修正してみました。
Boot\Src\boot.s<\t>25 : Xyz
これは上手く動作しませんでした。

いずれにしましても、ctagsが吐き出すままでダイレクトタグジャンプが出来る
ので
問題解決です。
お騒がせしました。どうもありがとうございました。

[ ]