レイヤー指定付きのカラーマーカー検索文No.07998
h-tom さん 13/07/04 21:21
 

h-tom です。

秀丸エディタ:Ver.8.31、Ver.8.32β1

nextcolormarker,prevcolormarker で、確認です。

例) nextcolormarker 0x01,,$searchlayer;

第一引数が 0x01なので、ユーザーデータを使用しない為、第二引数を省略し、第三
引数の
レイヤーを指定しました。
このマクロを実行すると、以下のエラーメッセージが表示されます。
  ---------------------------
  エラー
  ---------------------------
  マクロエラー:文字列が指定されるべき所に文字列以外のものが指定されています。
 
  エラー箇所の内容(変換した内容):
        writeregnum ,;
        ;
        finddown2;
 
  ---------------------------
  OK  
  ---------------------------
実行しているマクロ内には、"writeregnum"、"finddown2"は、存在していません。
prevcolormarker 文も、同じようなメッセージを表示します。

nextcolormarker / prevcolormarker 共に、第二引数を指定すれば、問題はないです。
第三引数を指定する場合、第一引数の内容にかかわらず、第二引数は省略不可という事
でしょうか?

[ ]
RE:07998 レイヤー指定付きのカラーマーカNo.07999
秀丸担当 さん 13/07/05 09:37
 

言われている通りの書き方で、エラーが出るのが確認できました。
マクロの書き方として、第2パラメータを省略して第3パラメータを書くという
書き方は対応しておらず、すみませんがこういう書き方はできないという仕様に
なってしまいます。

それはそれとして、この場合マクロのコンパイルされたデータが壊れたものにな
ってしまい、エラーの内容が適切ではありませんでした。
適切なエラーの内容となるように修正させていただきます。

[ ]
RE:07999 レイヤー指定付きのカラーマーカNo.08000
h-tom さん 13/07/05 23:29
 

h-tom です。

>マクロの書き方として、第2パラメータを省略して第3パラメータを書くという
>書き方は対応しておらず、すみませんがこういう書き方はできないという仕様に
>なってしまいます。
了解しました。

>それはそれとして、この場合マクロのコンパイルされたデータが壊れたものにな
>ってしまい、エラーの内容が適切ではありませんでした。
>適切なエラーの内容となるように修正させていただきます。
コンパイルデータが壊れる件に関連するかもしれませんが、

  〜
  if(〜){
    nextcolormarker 0x01,,$searchlayer;
  }
  endmacro;

上記の様な流れで、if文がfalseになる動作の場合、マクロが暴走しました。
(エラーにもならず、そのまま応答なしになる)

[ ]
RE:08000 レイヤー指定付きのカラーマーカNo.08001
秀丸担当 さん 13/07/08 11:38
 

>  〜
>  if(〜){
>    nextcolormarker 0x01,,$searchlayer;
>  }
>  endmacro;
>
>上記の様な流れで、if文がfalseになる動作の場合、マクロが暴走しました。
>(エラーにもならず、そのまま応答なしになる)

この症状も再現できました。
原因としては壊れたコンパイルデータがあるためということになると思います。
修正予定のもので問題が起きないことも確認できました。
次のβ版で修正させていただきます。

[ ]