マクロの品質アップについてNo.23887
yama3yama3 さん 07/10/24 05:21
 
お世話になります。
秀丸利用の諸先輩方、秀丸スタッフの方々
迅速なご指導ご対応ありがとうございます。

マクロを使い始めた初心者です。
自分で組んだ未完成のマクロを実行したところ

エラー
置換文字列が長すぎて処理できません。
と表示されて処理が中止されてしまいます。
(全体の5%程度ですが、品質を上げる必要があります。)

質問1
置換文字列が長すぎて処理できません。
のエラーをなくす方法はございますか?

質問2
マクロを作る上で考慮すべきアイデア、ノウハウはございませんか?
マクロの行をコメントアウトして1行ずつつぶしていくのでしょうか?
JavaScriptのデバックに心強いFirefox-Firebugのようなツールは
何かございませんか?
特に変換効率アップ、処理スピードアップを考えています。

よろしくお願いいたします。




[ ]
RE:23887 マクロの品質アップについてNo.23895
秀丸担当 さん 07/10/24 10:22
 

>質問1
>置換文字列が長すぎて処理できません。
>のエラーをなくす方法はございますか?

これは、元々の質問にあったスレッドにもコメントがありますが、今回書いた正
規表現で偶然発見されたバグでした。
http://www.maruo.co.jp/hidesoft/2/x23867_.html
問題は今週中に出すV7.04で修正します。
とりあえずはKaisanさんの書いた正規表現か、または「,?」の所を「,{0,1}」に
すれば回避できるようです。


>質問2
>マクロを作る上で考慮すべきアイデア、ノウハウはございませんか?
>マクロの行をコメントアウトして1行ずつつぶしていくのでしょうか?
>JavaScriptのデバックに心強いFirefox-Firebugのようなツールは
>何かございませんか?
>特に変換効率アップ、処理スピードアップを考えています。

debuginfo文やshowvars文を使って、OutputDebugStringを使ってデバッガに情報
を出力することができます。
「デバッガ OutputDebugString」などでWeb検索すると、何かいいソフトが見つ
かるかもしれません。
例えば以下のようにすると、デバッガに文字列や変数の内容を出力することがで
きます。

debuginfo 1;

debuginfo "デバッグ情報";

$a="a";
showvars;


マクロを一行ずつ止めたり進めたりといったトレースすることはできないです。

[ ]