[ 新規に投稿する ]

";" だけのマクロ行がエラーになる件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文を含めたほうで動作が変わってしまっていたとしたら、直したほうがいいと思います。

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

[ 新規に投稿する ]