〜へ変換+上/下候補No.03425
Iranoan さん 03/12/04 23:53
 
 秀丸担当さん、皆さん今日は、Iranoan です。
 末尾の様なマクロで、変換系の命令を実行したあと上/下候補を行うと、
「選択開始」を実行後のように、範囲選択が広がります。これは随分前からの
仕様ですが、なぜこの仕様なんでしょう?
 変換系の命令を実行で、「選択開始」扱いになるなら解るのですが、他の
カーソル移動では起きません。「マクロとの互換性〜」ということは有ると思
いますが、
http://hidemaruo.dip.jp:81/hidesoft/hidesoft_4/x00210.html
等を見ると to〜 文を使っても escape をしていないことから解りますが、
ずっと以前の仕様は現在と異なっていました。

 最終的には互換性の問題から gettext 関数はそのままの仕様になりました
が、やはりメニューから行うことであれ、マクロであれドキュメントに未記載
のことまでやってしまう命令は、動きを予期できないので、色々戸惑うことが
有ります。やはり互換性を犠牲にすることが有っても、ドキュメント未記載の
部分は、自然な動きに変更されることは有ではないでしょうか?
 gettext 関数の時は当事者となられた、山紫水明さんをはじめ、皆さんはど
うお考えでしょう。

#search = searchoption;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "SelectFound",1;
envchanged;
searchdown "[A-Za-z]+", regular;
tozenkakukata;
searchdown "[A-Za-z]+", regular;
if( !#reg_search ){
  openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
  writeregnum "SelectFound",#reg_search;
  envchanged;
  closereg;
}

[ ]
RE:03425 〜へ変換+上/下候補No.03438
秀丸担当 さん 03/12/05 15:07
 

> 末尾の様なマクロで、変換系の命令を実行したあと上/下候補を行うと、
>「選択開始」を実行後のように、範囲選択が広がります。これは随分前からの
>仕様ですが、なぜこの仕様なんでしょう?

「選択開始」でなくても、SHIFTを押しながら選択を始めてから検索をしても、
範囲選択が広がる動作になります。
変換系のコマンドだけが特殊な動作をしているわけではないと思います。

一時期、範囲選択中に検索をしたときに範囲選択が広がる動作がおかしくなって
いたバージョンがあった気がします。
そのときに混乱があったのではないでしょうか。
V3.18の改版履歴の「選択開始してから検索で範囲選択解除されてしまう問題回
避」で修正し、今はこの仕様に落ち着いているのではないかと思います。

[ ]
RE:03438 〜へ変換+上/下候補No.03451
Iranoan さん 03/12/05 17:52
 
 秀丸担当さん今日は、Iranoan です。
> 「選択開始」でなくても、SHIFTを押しながら選択を始めてから検索をしても、
> 範囲選択が広がる動作になります。
 すいません。これが実現できません???

> 一時期、範囲選択中に検索をしたときに範囲選択が広がる動作がおかしくなって
> いたバージョンがあった気がします。
 逆に私が例示した時のヴァージョンが、例外だったんですねm(__)m。

[ ]
RE:03425 〜へ変換+上/下候補No.03470
山紫水明 さん 03/12/05 22:09
 
 Iranoanさん,こんばんは。

》 gettext 関数の時は当事者となられた、山紫水明さんをはじめ、皆さんはど
》うお考えでしょう。

 突然ご指名を受けてしまいました。(^^;
 マクロの

》searchdown "[A-Za-z]+", regular;
》tozenkakukata;
》searchdown "[A-Za-z]+", regular;

の部分を,
while( 1 ) {
    searchdown "[A-Za-z]+", regular;
    if( !result ) break;
    tozenkakukata;
}
と書きかえて見ると,アルファベットだけでなく,途中の半角文字がすべて全角
になりますね。何か変です。escape を入れると回避はできますが。

     では, (^^)/~
                                        山紫水明
》> 「選択開始」でなくても、SHIFTを押しながら選択を始めてから検索をしても、
》> 範囲選択が広がる動作になります。
》 すいません。これが実現できません???

 ダイアログでは実現できませんが,選択状態でマクロで検索すると広がりま
す。これも何か変です。
 Iranoanさんの提起された疑問はもっとものような気がします。

     では, (^^)/~
                                        山紫水明

[ ]
RE:03470 〜へ変換+上/下候補No.03472
Iranoan さん 03/12/06 00:07
 
 秀丸担当さん、山紫水明さん今日は、Iranoan です。
> > 「選択開始」でなくても、SHIFTを押しながら選択を始めてから検索をしても、
> > 範囲選択が広がる動作になります。
>  すいません。これが実現できません???
 上/下候補でそうなることは解りました。

> と書きかえて見ると,アルファベットだけでなく,途中の半角文字がすべて全角
> になりますね。何か変です。escape を入れると回避はできますが。
 回答有り難うございます。

 以前からの仕様ということで、更に escape で回避できるのですが、上記の
「上/下候補」も含めて動きとしてはやっぱり不思議です。

 ##う〜ん、互換性は大事だけど、不思議な動きがそのままというのもなんだ
かなあ〜。合理的な理由があれば別だけど。

[ ]
RE:03472 〜へ変換+上/下候補No.03479
秀丸担当 さん 03/12/08 15:23
 

> 以前からの仕様ということで、更に escape で回避できるのですが、上記の
>「上/下候補」も含めて動きとしてはやっぱり不思議です。
>
> ##う〜ん、互換性は大事だけど、不思議な動きがそのままというのもなんだ
>かなあ〜。合理的な理由があれば別だけど。

検索ダイアログを出して検索をしたときが変なのですね。
上/下候補で確認していました。
検索ダイアログを出して検索したときは、たしかに範囲選択は広がりません。

範囲選択時に検索をすると広がるのが基本的な動作であって、互換性のためだけ
に維持しているわけでもなく、不思議な動きでもないはずです。

不思議な動きをすると思われるのは、検索ダイアログのほうで、「範囲選択をし
てそれが検索文字列として取り込まれる時」と「範囲選択をしてそれが検索文字
列として取り込まれない時」の違いです。
この検索ダイアログのまぎわらしい動作をわかりやすくするためのアイディアが
何かないでしょうか。

[ ]
RE:03479 〜へ変換+上/下候補No.03482
Iranoan さん 03/12/08 17:34
 
 秀丸担当さん今日は、Iranoan です。
> 不思議な動きをすると思われるのは、検索ダイアログのほうで、「範囲選択をし
> てそれが検索文字列として取り込まれる時」と「範囲選択をしてそれが検索文字
> 列として取り込まれない時」の違いです。
 成る程、秀丸担当さんが考える仕様としては、むしろこちらが特殊な動きな
のですね。そういうことでしたら、一応納得です。
 一つ気になるのは、この仕様だと「キー操作の保存」で作成したマクロが、
条件によっては記録したときと実行したときで動きが異なることが出てきます。
 何故なら検索ダイアログを表示させた結果を記録しても、記録されるのは
find ではなく
>   searchdown "default";
>   if( ! result )  beep;
等となるので (この動き自体は、「キー操作の保存」の利便性から妥当だとお
も言っています)、記録したときは範囲選択が広がりませんが、保存しておい
たマクロを実行させると、範囲が広がるからです。
 これって良いのでしょうか?
 検索系文の仕様が今のままなら、beginsel 等がされていなければ escape
を補ったほうが良い気がします。

> この検索ダイアログのまぎわらしい動作をわかりやすくするためのアイディアが
> 何かないでしょうか。
 検索で範囲選択が広がることを不思議に思っていたので、ダイアログに関し
ては、今現在案がありませんm(__)m。

[ ]
RE:03482 〜へ変換+上/下候補No.03491
秀丸担当 さん 03/12/08 19:31
 

> 一つ気になるのは、この仕様だと「キー操作の保存」で作成したマクロが、
>条件によっては記録したときと実行したときで動きが異なることが出てきます。

これはおかしい動作でした。
範囲選択中に検索ダイアログを出して検索文字列の取得をして検索した場合は、
escape; も記録するようにしなくては、つじつまが合いませんでした。
その場合は escape; も記録するように修正しようと思います。

[ ]
RE:03491 〜へ変換+上/下候補No.03495
Iranoan さん 03/12/09 01:25
 
 秀丸担当さん今日は、Iranoan です。
> 範囲選択中に検索ダイアログを出して検索文字列の取得をして検索した場合は、
> escape; も記録するようにしなくては、つじつまが合いませんでした。
> その場合は escape; も記録するように修正しようと思います。
 宜しくお願いします。

[ ]