(「編集後タイマー」マクロ中に"autocompNo.25551
たけとり さん 08/10/20 20:46
 
いつもお世話になります。
表題の通りですが(;^ω^)...

OS=XP sp2
秀丸=7.09
単語補完の自動表示=OFFでもONでも。リストでもツールチップでも
リアルタイム入力=ON
辞書ファイル名=A.dic
自動起動マクロの「編集後タイマー」のマクロ中に"autocomplete #a, -1, -1, B.di
c" 文(#aは0or1。)
ちなみに、AutocompFlag1=27、AutocompFlag2=102F13。

という環境で、手動で補完リストを表示させると、候補が複数あるにもかかわらず勝
手にリストが確定します。
(厳密に言うと、タイマーの設定秒経過したら)

再現しますでしょうか。

この条件が原因だとしたら...
補完候補リストを表示中は(リアルタイム入力をしていても)編集後タイマーを起動
しないというようなことはできますでしょうか。
またはマクロからそういう(リストが表示されている)状態を知る方法がありますで
しょうか。マクロで回避したいと思います。
# 今後のことを考えると、後者を簡単にできた方が現実的かもしれません。

ご教授お願いします。

[ ]
RE:25551 (「編集後タイマー」マクロ中にNo.25554
秀丸担当 さん 08/10/21 11:29
 
>
>自動起動マクロの「編集後タイマー」のマクロ中に"autocomplete #a, -1, -1, B.di
>c" 文(#aは0or1。)
>ちなみに、AutocompFlag1=27、AutocompFlag2=102F13。
>
>という環境で、手動で補完リストを表示させると、候補が複数あるにもかかわらず勝
>手にリストが確定します。
>(厳密に言うと、タイマーの設定秒経過したら)
>
>再現しますでしょうか。

言われているように再現させることができました。
autocompleteの第一パラメタが 0 の場合は、非同期になるので、マクロの実行
は終了し、終了後も単語補完の候補が出続けることになり、そこでまた編集後タ
イマーが呼ばれるようです。
第一パラメタが -1 の場合は、同期になって、候補が決定するまではマクロの実
行は終了しないので、勝手に決定することは無くなりますが、決定後にまた実行
されてしまうので、どちらにしても都合は悪いようです。
あとマクロ実行中の配下に置かれているため、カーソル移動キーやキー割り当て
などに違いが出てしまいます。


>この条件が原因だとしたら...
>補完候補リストを表示中は(リアルタイム入力をしていても)編集後タイマーを起動
>しないというようなことはできますでしょうか。
>またはマクロからそういう(リストが表示されている)状態を知る方法がありますで
>しょうか。マクロで回避したいと思います。
># 今後のことを考えると、後者を簡単にできた方が現実的かもしれません。

非同期の場合、候補が出ているかどうかのキーワードがあるといいかもしれない
です。
将来バージョンで検討したいと思います。

[ ]
RE:25554 (「編集後タイマー」マクロ中にNo.25557
たけとり さん 08/10/21 18:41
 
早速のお返事ありがとうございます。

>>c" 文(#aは0or1。)

あ、、#a=0 or -1 でした(^-^;

>非同期の場合、候補が出ているかどうかのキーワードがあるといいかもしれない
>です。
>将来バージョンで検討したいと思います。

ありがとうございます。
どういう形でも結構ですので、先述の動作がなくなれば結構です。
# あえてこれを使う場合なんてないでしょうし。

よろしくお願いします。

[ ]