";" だけのマクロ行がエラーになる件No.10099
yamashita さん 23/03/17 23:11
 
お世話になっております。
version 9.20 で、おそらく version 9.15 ではエラーにならなかったマクロがエ
ラーになっているように思います。(9.15 と 9.20 の間のどこでの変更なのかは、
分かりません。)

>>>> ここから
;
endmacro;
<<<< ここまで

つまり、";" しかない行です。
こうした行は、例えば、

while (1) {
  if (何か条件) {
    ;
  } else {
    break;
  }
}

のような場合に使っていました。
「何か条件」を否定するよりも、上記のように書いた方が幾らか可読性がいいと思っ
た時や、
「何か条件」の時の処理を一時的にコメントアウトし「何もしない」とした時、
であり、かなりあちこちに使っています。
これは、使えないようになったのでしょうか。(使えなくなると、手元のマクロの修
正がそれなりに大変ではあります。)

[ ]
RE:10099 ";" だけのマクロ行がエラーになNo.10111
秀丸担当 さん 23/03/20 11:22
 
バグ情報ありがとうございます。
こちらで試してみたところ、以下のような書き方だと確かにエラーになるようでした。
;
endmacro;

以下のような書き方だと、エラーにはならないようでした。
while (1) {
  if (0) {
    ;
  } else {
    break;
  }
}

V9.15や、V8.xx以前でも同じ動作で、V9.20あたりで変わったということは確認でき
ませんでした。
if文を含めたほうで動作が変わってしまっていたとしたら、直したほうがいいと思い
ます。

再現できればいいのですが、簡略化していない実際にコピペして実行する例を教えて
もらえると助かります。

[ ]