関数・強調行の挙動についてNo.03216
大関一徳 さん 99/05/11 18:37
 
おおぜきと申します。

今、私がメンテしているC言語のソースファイルには、関数の定義が以下のような記
法で書かれています。

void foo
(
void
)
{
}

つまり、関数名の行には"("が無く、次の行に書かれているのです。

この記法の関数は、V2.29では、

(a)前の関数、次の関数、関数一覧
 ->関数として認識する
(b)tagsファイルの作成
 ->"("の行が登録されるので、バックタグジャンプできない

という状態であり、(b)に問題がありました。


そこで、V3.01にて試したところ、以下の結果になりました。
強調表示にはC-function.hilightを利用しています。

(A)上の強調行、下の強調行
 ->関数として認識できない
(B)強調表示の一覧、ラジオボタンで「関数一覧」を選択
 ->関数として認識
(C)強調表示の一覧、ラジオボタンで「強調一覧」を選択
 ->関数として認識できない
(D)tagsファイルの作成、ルールを(C言語の関数一覧)に
 ->"("の行が登録されるので、バックタグジャンプできない
(E)tagsファイルの作成、ルールを(自動)に
 ->tagsファイルになにも登録されない

ということで、(B)以外全滅です。

A, C, Eについては、強調表示の設定を変えればどうにかなるのかとも思ったのです
が、過去のログによると強調表示の正規表現では改行を受け付けないようです。


そこで、要望なのですが、

(1) V2.29の前の関数、次の関数と同様な動作をする機能を復活させることはできな
いでしょうか。

(2) tagsファイルの作成にて、ルールを(C言語の関数一覧)にした際の関数判別ロジ
ックを、「関数一覧」と同じにできないでしょうか。

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


[ ]
RE:03216 関数・強調行の挙動についてNo.03217
大関一徳 さん 99/05/11 18:43
 
追加情報です。

tagsファイルの作成にて、ルールとして(自動)と(C言語の関数一覧)以外のもの(たと
えばC-function.hilight)を選択してOKを押すと、

"E:\Program Files\Hidemaru\C-function.hilight - ファイルの中身が正しい形式に
なっていません"

というメッセージボックスが表示されてしまい、tagsファイルが作成できません。
このファイル自体は、強調表示のところで読み込むことができるので、壊れてはいな
いと思います。

多分、私の当面の問題とは別の不具合だとは思いますが、念のためご報告しておきま
す。

[ ]
RE:03216 関数・強調行の挙動についてNo.03230
秀丸担当 さん 99/05/12 18:29
 
>(1) V2.29の前の関数、次の関数と同様な動作をする機能を復活させることはできな
>いでしょうか。

これは、いちおう、ファイルタイプ別の設定で、強調表示一覧の中に「行の強調」
が存在していなければ、従来どおりの「前の関数」「次の関数」になります。
しかし滅多なことではこの状態になることはないですが。

>(2) tagsファイルの作成にて、ルールを(C言語の関数一覧)にした際の関数判別ロジ
>ックを、「関数一覧」と同じにできないでしょうか。

tagsファイルの作成で「(」になってしまうのは変なので調べておきます。

[ ]
RE:03217 関数・強調行の挙動についてNo.03231
秀丸担当 さん 99/05/12 18:29
 
>tagsファイルの作成にて、ルールとして(自動)と(C言語の関数一覧)以外のもの(たと
>えばC-function.hilight)を選択してOKを押すと、
>
>"E:\Program Files\Hidemaru\C-function.hilight - ファイルの中身が正しい形式に
>なっていません"

これはこちらでも再現しました。バグだと思います。
調べておきます。

[ ]