8.20 でキーに割り当てたマクロのレスポンNo.31487
にしかぜ さん 12/09/07 10:48
 
秀丸 Ver.8.20 64bit

8.20 をインストールしてみましたが、8.13 と比べて
キーに割り当てたマクロの実行時のレスポンスが悪くなったように感じます。
具体的には、8.13 では割り当てたキーを押した瞬間にマクロが実行されていたのが、
キーを離した瞬間にマクロが実行される感じです。

以下のようなマクロを作成して、キーに割り当てて使用しています。
----
// CTRL + T : word delete(clipboard)
//  選択範囲、もしくは単語削除
if (!selecting) {
 beginsel;
 gowordend;
}
cut;
----
----
// CTRL + G : delete(clipboard)
//  選択範囲、もしくは空白以外は1文字ずつ、連続する空白はまとめて削除
if (!selecting) {
 #cb = code;
 beginsel;
 right;
 if ( #cb==0x0d || #cb==0x20 || #cb==0x09 ){
  while (code==0x20 || code==0x09){
   right;
  }
 }
}
cut;
----

連続してマクロを使用すると違和感を感じます。
8.13 と同じように振る舞わせるための設定や、マクロの書き方などあれば教えて欲
しいと思います。

[ ]
RE:31487 8.20 でキーに割り当てたマクロNo.31490
秀まるお2 さん 12/09/07 11:12
 
 お手数かけてすみません。こちらでも今ちょっとテストしたら再現出来ました。

 マクロだから遅いというよりは、「cut」が遅くなってしまってるようです。


 実は、V8.20で、常駐秀丸メールの方で取ってるクリップボード履歴の抜けが
起きないように、常駐秀丸メールとの通信方式を少し変更していまして、これが
原因で遅くなってるように思います。

 今まで連続実行するテストはしてなかったので遅くなってることに気づきませ
んでした。大変失礼しました。

 なんとか、クリップボード履歴の取りこぼしを無くしつつ、速度も遅くならな
いように、トライしてみます。



 とりあえずの回避策としては、マクロの中の「cut;」を「delete;」にするっ
て作戦があるにはあります。(クリップボードに入れなくてもいいのならば、で
すが)

[ ]
RE:31490 8.20 でキーに割り当てたマクロNo.31491
秀まるお2 さん 12/09/07 11:17
 
 秀丸担当から教えてもらったんですけども、マクロの先頭に

   disablehistory 0x0040;

 を入れればとりあえず回避出来るって手があるようです。

 調査の方も急いでやります。

[ ]
RE:31491 8.20 でキーに割り当てたマクロNo.31494
にしかぜ さん 12/09/07 14:08
 
早速の対応ありがとうございました。
disablehistory 0x0040; を入れることで元のように動作することを確認しました。

引き続き根本的な解決もできましたらお願いします。

[ ]