[ 新規に投稿する ]

v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09688
kazu-ma さん 21/11/29 20:32 [ コメントを投稿する ]
  お世話になります。

利用しているマクロが v8.99.3 までは動作していたものの、v9.00 で少々おかしくなってしまったため見直しているのですが現時点で原因がわかり
ません。
v8.99.3 と v9.00 でマクロに関しての差異など見直すべきヒントなどいただけるとありがたく思います。
ざっと改変履歴も見てみたのですが、分からない状態です。

使用しているマクロは「Clang を利用した C / C++ 補完マクロ」で、プリコンパイルマクロがうまく動作しなくなりました。
設定ファイルを読み込んでいるのですが、どうも searchdown2 文に失敗することがあるようです。
しかも、ほぼ同じ処理をしている補完マクロの方は問題なく動作するという状況です。

単にマクロの記述ミスであったり、環境依存の原因であったりするのかもしれませんが…
情報がこれだけではどうしようもないかもしれませんが、ひとまず何かヒントをいただけると嬉しく思います。

以上、よろしくお願い致します。
[ ]
RE:09688 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09689
h-tom さん 21/11/29 23:28 [ コメントを投稿する ]
  h-tom です。

動かない件とは関係なさそうですが。
以下の正規表現パターンでは、"[CompleteCppConfig]"のチェックになってませんよ。
>$g_configfile_title = "^[CompleteCppConfig]";
[ ]
RE:09689 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09690
kazu-ma さん 21/11/30 08:29 [ コメントを投稿する ]
  h-tom さん、ご指摘ありがとうございます。

ご指摘の通りで、こちらでも今回見直しをしている段階で見つけました。

恥ずかしながらよく動いていたものだと…

ただ、ここを修正しても現象に変わりはないようでした。

ご指摘ありがとうございました。
[ ]
RE:09690 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09691
秀丸担当 さん 21/11/30 10:48 [ コメントを投稿する ]
  V8.99とV9.00の違いとしては、一番怪しいのはカレントフォルダ移動があります。
[その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]の「カレントフォルダ移動」を「移動する(従来通り)」にすると違いを調べることができます。

clangのマクロは、環境によるかもしれませんが、以前に試してみた環境があったので、試してみたところでは、違いなく動作しているように見えます。
非互換の何かがあるようでしたら直すべきことかもしれないので、もしわかったら教えてもらえると助かります。
もしマクロでカレントフォルダに依存していて、フルパスで書かれていない何かがあるようでしたら、フルパスで書くことを推奨します。
[ ]
RE:09691 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09692
kazu-ma さん 21/12/01 08:03 [ コメントを投稿する ]
  秀丸担当さん、情報ありがとうございます。

教えていただいた点を含めて見直してみたいと思います。

ありがとうございました。
[ ]
RE:09692 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09693
kazu-ma さん 21/12/01 20:33 [ コメントを投稿する ]
  お世話になります。

教えていただいた「カレントフォルダ移動」を変えることで動作が変わることがわかりました。

そこでさらにパス表記を見直したところ、パス記号「\」を余分に追加してしまっていたことが原因のようです。
例えば、「D:\SubA\SubB\SubC\..\..\Test.txt」としたかったところが「D:\\SubA\SubB\SubC\\..\\..\Test.txt」となっていました。
この点を修正したところ、v9.00で「カレントフォルダ移動」が「自動」の場合でも動作するようになりました。

ちなみに、ファイル有無を existfile() 関数で調べてから openfile 文で開くようにしてあるのですが、パス記号が余分についている場合でも existfile() 関数は問題ないようでした。
今回は openfile 文で処理に失敗していました。

ご指摘いただいた点も含めてマクロは修正したいと思います。

ヒントを下さった皆様、どうもありがとうございました。
[ ]
RE:09693 v8.99.3 と v9.00 の差異についてヒントを頂ければ…No.09694
秀丸担当 さん 21/12/02 09:33 [ コメントを投稿する ]
  情報ありがとうございます。
こういうパスの指定に違いがあるのは予想外でした。
こういう場合でもできるように次のバージョンで修正しようと思います。
[ ]

[ 新規に投稿する ]