自動起動(カーソル移動後タイマー)で、No.04700
tubo さん 09/12/04 10:56
 
以前からの様なのですが、
自動起動(カーソル移動後タイマー)に何でもいいので、マクロを登録すると、
マウスで選択を開始した時におかしな動作をするようです。

再現手順

1.カーソル移動後タイマーにマクロを登録
=================
main:
endmacro;
=================

2.マウスで左ボタンを押しながらテキストの選択を始める
3.マウスを移動させながら左ボタンを放す

これでボタンを押していないのに、選択状態がマウス移動に追従したままになります。

この状態を解除するには、マウスを止めた状態で左ボタンをクリックする
などする必要があります。マウスを移動させながらクリックすると、
「マクロ実行を中断しますか?」と表示されて、解除できません。

自分が自動起動に通常選択・行選択の切り替えをするマクロを登録していたので、そ
れが
悪さしていると思っていたのですが、どうも何もしないマクロでも再現できるので、
ご報告します。

ついでに質問なのですが、
選択にはbeginselやbeginlineselの系統と、SHIFT+UP、あとマウスでの選択があると
思いま
すが、どの方法で選択されたかをマクロで見分ける方法はあるのでしょうか?


環境は
WindowsXP SP3
β28
です。よろしくお願いします。

[ ]
RE:04700 自動起動(カーソル移動後タイマNo.04701
秀丸担当 さん 09/12/04 12:14
 

>自動起動(カーソル移動後タイマー)に何でもいいので、マクロを登録すると、
>マウスで選択を開始した時におかしな動作をするようです。

手順通りにして確認することができました。
報告ありがとうございます。
確実ではないようですが、一定の確率でそうなる場合があるようです。
β29で修正させていただきます。

>ついでに質問なのですが、
>選択にはbeginselやbeginlineselの系統と、SHIFT+UP、あとマウスでの選択があると
>思いま
>すが、どの方法で選択されたかをマクロで見分ける方法はあるのでしょうか?

いまのところその方法は無いと思います。
lineselecting, selectionlock, mouseselecting というようなキーワードの追加
を検討させていただきます。

[ ]
RE:04700 自動起動(カーソル移動後タイマNo.04704
IKKI さん 09/12/04 13:50
 
こんにちは。IKKI です。

編集後タイマとドラッグ&ドロップ編集の相性も良くないようです。

●手順
1. 動作環境の [選択した文字をドラッグ&ドロップしたとき選択範囲を解除する] を
 OFF にする。
2. 選択範囲を別の場所にドラッグ&ドロップする。このとき、マウスを静止させない。

●期待する結果
ドロップ後のマウスの動きと関係なく、ドロップした部分の範囲選択が維持される。

●実際の結果
マウスの動きによって選択範囲が変わってしまう。
ドロップ後しばらくの間 (コンマ数秒間) 選択開始状態になっている様子。

ご確認のほどよろしくお願いいたします。


秀丸エディタ v8.00β28 + Windows Vista 32bit

[ ]
RE:04704 自動起動(カーソル移動後タイマNo.04705
秀丸担当 さん 09/12/04 16:28
 

>●実際の結果
>マウスの動きによって選択範囲が変わってしまう。
>ドロップ後しばらくの間 (コンマ数秒間) 選択開始状態になっている様子。

うまく再現できなかったのですが、もしtuboさんご報告の問題と同じことだとし
たら次のβ版で版直るかもしれません。
報告ありがとうございます。

[ ]
RE:04700 自動起動(カーソル移動後タイマNo.04706
naanfushi さん 09/12/04 16:57
 
 「カーソル移動後タイマー」ではないのですが、自動起動マクロ関連と言う事で…。

【症状】(WinXP SP3 HM8b28)
 タブモードの時、自動起動マクロで「アクティブ切り替え後」ONの場合、「0ms」
に設定すると、マクロを登録した1回目だけは、1回のタブクリックでアクティブに
なります。しかし、それ以降は、タブをクリックしても、1回のタブクリックでアク
ティブにならず、続けてもう1回(計2回)タブをクリックすることで、アクティブ
になり、登録マクロも実行するようです。
 なお、アクティブになる秀丸ウィンドウが異なる場合は、切り替わった最初と次の
タブクリックまで1回でアクティブになり、以降は上記と同様です。
 ※ 「0ms」を「50ms」にすると、1回目のタブクリックでアクティブになり、当該
マクロが実行されます。
(「0ms」でなくても、実用上は問題ありませんが、ちょっと気になっていたもので…)

 以上、再現しますでしょうか?

[ ]
RE:04706 自動起動(カーソル移動後タイマNo.04707
秀丸担当 さん 09/12/04 17:41
 

> タブモードの時、自動起動マクロで「アクティブ切り替え後」ONの場合、「0ms」
>に設定すると、マクロを登録した1回目だけは、1回のタブクリックでアクティブに
>なります。しかし、それ以降は、タブをクリックしても、1回のタブクリックでアク
>ティブにならず、続けてもう1回(計2回)タブをクリックすることで、アクティブ
>になり、登録マクロも実行するようです。

マクロの内容がメッセージボックスを出すようなマクロの場合、そうなることが
確認できました。
マウスでタブをクリックしたときはドラッグしてタブを移動可能な状態になるの
ですが、その状態のままマクロが実行されて、おかしいようです。
自動起動マクロが実行されるような場合はドラッグ移動ができないということに
なってしまうかもしれませんが、少なくとも不具合にはならないように修正させ
ていただきます。

[ ]
RE:04701 自動起動(カーソル移動後タイマNo.04747
tubo さん 09/12/10 18:28
 
β29で選択されままになる現象が修正されたのを確認できました。
修正ありがとうございました。

ただ、マウスで選択した直後にLボタンクリックで「マクロを中断しますか?」が出
る現象はそのままでした。

で、もう少しよく調べたところ、「カーソル移動後タイマー」(0ms)の場合の時だけ
に起きる様です。

ステータスバーに選択行数と選択文字数を表示するように設定しているのですが、0m
sでマクロを登録
すると、選択行数などが表示されるまでに数秒タイムラグがあり、その間にLボタン
をクリックすると
上記のダイアログが表示されました。
なので、マウスで選択中にカーソル移動時のマクロが何度も実行された結果起きてい
るようです。

ただ、(1ms)に変更することでタイムラグも無くなり、ダイアログも出なくなったの
で、(0ms)で登録
しなければ問題が出ないこともわかりました。実質自分のマクロは(1ms)でも(50ms)
でもそんなに問題
ないので、(1ms)に変更して対応しました。

※察するにこの現象ですが、マシンスペックなども関係あるのかもしれないです。

以上、ご報告でした。


[ ]
RE:04747 自動起動(カーソル移動後タイマNo.04749
秀丸担当 さん 09/12/11 10:05
 

>ただ、マウスで選択した直後にLボタンクリックで「マクロを中断しますか?」が出
>る現象はそのままでした。

確かにその通りでした。
ありがとうございます。
選択されたままのところだけ直してこちらは直してませんでした。
即実行することでマウスによるカーソル移動が溜まってしまっていました。
β30で修正させていただきます。

[ ]
RE:04705 編集後タイマとドラッグ&ドロッNo.04750
IKKI さん 09/12/11 10:21
 
こんにちは。IKKI です。

> >マウスの動きによって選択範囲が変わってしまう。
> >ドロップ後しばらくの間 (コンマ数秒間) 選択開始状態になっている様子。
>
> うまく再現できなかったのですが、もしtuboさんご報告の問題と同じことだとし
> たら次のβ版で版直るかもしれません。

β29で確認したところ、解決していませんでした。

問題の動作はこんな感じです。
http://www.screencast.com/users/mobitan/folders/Jing/media/83c545a8-c734-4c88-a9a9-91d130ff65b6
ビデオの前半で正常な動作、後半で問題の動作を再現しています。
常駐ソフトはすべて終了した状態です。

●正常な動作 (自動起動マクロ off の場合)
・ドロップ後、選択範囲が維持される。
・ドロップ後のマウスポインタを動かしても影響を受けない。

●問題の動作 (自動起動マクロ on の場合)
・元の位置より左方にドロップすると、選択範囲がゼロ幅になる。
・元の位置より右方にドロップすると、選択範囲が維持される。
・ドロップ後にマウスポインタを動かすと、選択範囲が変化する。

ビデオ内の自動起動マクロはステータスバーに tickcount を表示しています。
注意深く見るとドロップした時点でマクロが 2 回実行されていることがわかるので
すが、これは正常な動作でしょうか?

ご確認のほどよろしくお願いいたします。


Windows Vista 32bit + 秀丸エディタ v8.00β29


[ ]
RE:04749 自動起動(カーソル移動後タイマNo.04806
tubo さん 09/12/18 05:55
 
こちらですが、β30で修正されているのが確認できました。
ありがとうございました。

[ ]