下候補No.08314
bouz さん 05/06/21 09:30
 
感想文です。

* 検索ダイアログの「検索文字列の強調」がオンのとき
コマンド「下候補」を実行すると強調されます。
ところがマクロの「下候補」 finddown2を実行しても、強調されません。
おかしいな、と思って「下候補」を記録してみると、
searchdown2 "hoge" , hilight;
if( ! result )  beep;
となっていました。
マクロヘルプでは、searchdown2は「下方向検索」になっています。
この違いに気付かずに、コマンド「下候補」とfinddownは同じだと思いこんでいたの
で、
さっきまでなんでfinddown2で強調されないことがあるのか解りませんでした。
そのうち直るだろうささいなバグ、と思っていたのです。
検索ダイアログの「検索文字列を強調」をオフると「下候補」の記録は

searchdown2 "hoge" , nohilight;
と変わりました。ははぁ、なるほど!
動作環境の検索、「カーソル位置の次の文字から検索を開始」をオンにしてみると
「下候補」の記録は、
searchdown "hoge" , nohilight;
に変わり、予想通りでした。
つまりコマンド「下候補」とマクロ文「下候補」は別物であり、コマンド「下候補」
は、
検索文字列と検索オプション、さらに動作環境を考慮したマクロ文の組み合わせで
成り立っているものと同等、ということがいまさら解ったのでした。
このことから、コマンド「下候補」といつも同じ動作をするマクロは、
両方のオプションを考慮して4通りに分岐させないと書けない、ということになりま
す。

まず、この「下候補」という用語が紛らわしいのと、強調のオン/オフと
動作環境のオン/オフからコマンド「下候補」には4つのバリエーションがあり得る
ことになり、
キーを記録しても、組み合わせが合わないと違った動作になります。
実際には、この辺は各自固定して使用すると思われるので、問題ないんでしょうけど、
ちょっと奇妙な感じがします。もちろんマクロで両オプションを見て、
コマンド「下候補」と同じマクロ文を生成すればいいんでしょうけど、
将来オプションが増えたときのことも考えると、いっそコマンド「下候補」が
生成するマクロ文と同じ機能を果たすカプセルマクロ文(例えばnextcandidate)が
ひとつあるといいな、という気がしました。
あらかじめ組むマクロではexecmacroすれば?、って話ではありますが。

[ ]
RE:08314 下候補No.08318
Iranoan さん 05/06/21 12:31
 
 bouz さん今日は、Iranoan です。
> まず、この「下候補」という用語が紛らわしいのと、強調のオン/オフと
> 動作環境のオン/オフからコマンド「下候補」には4つのバリエーションがあり得る
> ことになり、
> キーを記録しても、組み合わせが合わないと違った動作になります。
 まず最初に、コマンドとマクロで細かな動作で違いがあるのは、「上/下候
補」に限ったことではありません。その意味で、これだけ特別視するのは無意
味です。

> > このことから、コマンド「下候補」といつも同じ動作をするマクロは、
> > 両方のオプションを考慮して4通りに分岐させないと書けない、ということにな
>りま
> > す。
に付いては、setsearch と hilightfound を上手く使えば、分岐は必要でもこ
れまでと比べて格段に面倒ということ無いと思います。

 あと検索関係で、現在何故この仕様になっているかは、
http://www.maruo.co.jp/turukame/3/x06971_.html
http://www.maruo.co.jp/turukame/3/x07863_.html
の長大なスレッドを一度御覧ください。その上で、互換性、整合性が取れてい
て、単純な仕様を述べて頂けると、みんなが幸せになります(^^)。

[ ]
RE:08318 下候補No.08327
bouz さん 05/06/21 16:45
 
>補」に限ったことではありません。その意味で、これだけ特別視するのは無意
>味です。

無意味ってことはないでしょう。乱暴だなぁ。
現にfinddown/finddown2には有意な差があるし、検索の強調オプションも他のオプシ
ョンに比べると特別扱いです。
だからこの組み合わせを論じるのはそもそも有意なはずです。(^_^;)

>の長大なスレッドを一度御覧ください。その上で、互換性、整合性が取れてい

一応すべて目を通してますよ。
今までは、カーソル行反転と,hilightのバグで使えなかったので、
実践上の知識がないから黙っていただけです。
前者は既に改良され、やっとボクの環境でも検索強調の恩恵にあずかれるようになっ
たし、
後者も直りそうなので、これからです。

>て、単純な仕様を述べて頂けると、みんなが幸せになります(^^)。
なんか幸せでないことがあるんですか?
一連の流れから秀丸担当さんの
* searchdown:
従来のマクロでは、searchdown と setsearch+finddown が互換。
V5.00以降では、searchdown と setsearch+finddown+hilightfound が互換。
http://www.maruo.co.jp/turukame/3/x05793_.html#7464

というひとつの結論が出ていて、これは至極もっともなものだと思っているんですが。

[ ]
RE:08327 下候補No.08330
秀丸担当 さん 05/06/21 17:09
 

マクロは、同じマクロ文であっても動作環境によって動作が違う場合があること
が問題にされているところがあり、最近はそういうことがなるべく起きないよう
に仕様を考えています。
かといって互換性を崩すわけにはいかないので、従来より動作環境によって違う
動作になるマクロ文もあります。

下候補コマンドと全く同じ動作をするマクロ文ということですが、そういうマク
ロ文を作ることは、このコンセプトとは逆の発想です。

今後も、もしマクロ文の追加があるとしたら、動作環境に依存しない仕様を考え
ていくことになると思います。

[ ]
RE:08330 下候補No.08337
bouz さん 05/06/21 17:28
 
>下候補コマンドと全く同じ動作をするマクロ文ということですが、そういうマク
>ロ文を作ることは、このコンセプトとは逆の発想です。

そうです。
あえて個々の環境任せにする、という融通無碍なものなので、おっしゃるとおりです。
気持ちの中にマクロカプセル化、というぼわっとしたイメージが元々あって、
ちょうどその矢先「下候補」がそのイメージに合致していたというだけのことで、
要望でもなんでもありません。(^^)
だから、ネタを通り越して感想文なのです。
レスありがとうございました。

[ ]
RE:08327 下候補No.08353
あべのり さん 05/06/22 00:38
 
>一応すべて目を通してますよ。
全て目を通してるのだから,わざわざここに書かなくても,下候補とfinddownとが違
うことは,すでにIKKIさんが述べられてます.
説明があるのに書き込みがある→読んでないと判断する
と判断するのも乱暴だと仰られるのでしょうか?

>>て、単純な仕様を述べて頂けると、みんなが幸せになります(^^)。
>なんか幸せでないことがあるんですか?
この「感想文」が幸せでないのだ,という主張であると読めるのは私だけでしょうか?

[ ]