V3.11β3No.00308
秀丸担当 さん 01/11/01 19:01
 
V3.11のβ3を作りました。
以下の場所からダウンロードできます。

http://hide.maruo.co.jp/software/bin/hm311b3.exe

変更点
・[動作環境]→[編集]→[高度な編集]
 [カーソル位置の次の文字から検索を開始]追加
 [マークの上限に達したときメッセージを表示」追加
・折り返し行の最後の文字の右までマウスで選択できるようにする
・スクロールバーの右クリックメニューの最上部,最下部などに対応
・「スクロールアップ(その2)」「スクロールダウン(その2)」
 でタブがあるときカーソル位置がずれる
・前の秀丸でウィンドウ点滅状態になってしまうことがあることの改善
・マーク一覧で追加するとマークが余分に消えるバグ対策

[ ]
RE:00308 V3.11β3No.00310
ひろ さん 01/11/01 20:20
 
 秀丸担当さん今日は、ひろです。
>  [カーソル位置の次の文字から検索を開始]追加
について質問があります。このオプションにより searchdown の動きが異な
るということでしょうか? もしそうであるなら、マクロの互換性が問題にな
らないでしょうか?
 envchanged を使えば済む問題ですが、ちょっと気になります。

[ ]
RE:00310 V3.11β3No.00311
秀丸担当 さん 01/11/02 17:44
 
>>  [カーソル位置の次の文字から検索を開始]追加
>について質問があります。このオプションにより searchdown の動きが異な
>るということでしょうか? もしそうであるなら、マクロの互換性が問題にな
>らないでしょうか?
> envchanged を使えば済む問題ですが、ちょっと気になります。

マクロの互換性に問題があります。
この要望があがったとき、マクロ互換の問題が予想されていたので
動作環境で切り替え可能で、デフォルトでは従来通りということに
なりました。
互換のために、マクロ動作時のみは従来通りにするように変更しても
いいです。
どうでしょう?

[ ]
RE:00311 V3.11β3No.00312
ひろ さん 01/11/02 18:27
 
 秀丸担当さん今日は、ひろです。
> 互換のために、マクロ動作時のみは従来通りにするように変更しても
> いいです。
 私個人は envchanged で回避できますので、この β3 の仕様でよいと思い
ます。他の方はどうでしょうか?

[ ]
RE:00311 V3.11β3No.00313
TAKA さん 01/11/02 18:36
 
TAKA です。

>互換のために、マクロ動作時のみは従来通りにするように変更しても
>いいです。
>どうでしょう?

検索系マクロのオプションにカーソル位置からというのを追加して
欲しいです。
そうすれば、今までのマクロは今まで通りの動きで、カーソル位置
から検索したい場合(特に検索の1回目や、ファイルの先頭から検
索したい場合)に、新しいオプションを利用します。

[ ]
RE:00311 V3.11β3No.00314
Arimac さん 01/11/02 18:44
 
>互換のために、マクロ動作時のみは従来通りにするように変更しても
>いいです。
>どうでしょう?

そうするとチェックをOFFにして
キー操作の保存を実行すると、
キー操作したのとは違った動作になってしまうと
思いますが・・・

マクロには新動作をするフラグを付ける等して
記録されるコマンドを変えた方が良いと思います。
(従来通りの書き方のマクロは従来通りの動作とする)

[ ]
RE:00313 V3.11β3No.00315
ひろ さん 01/11/02 18:51
 
 TAKA さん今日は、ひろです。
> 検索系マクロのオプションにカーソル位置からというのを追加して
> 欲しいです。
 私も最初そう思ったのですが、finddown の場合はどうするのでしょうか?
検索のことを考えれば、単純にオプションを追加するだけで済みますが、こ
れは置換の場合も使われるので、単純にオプションにすると却って混乱する
と思います。(置換は常にカーソル位置を含む)
 また searchdown にだけオプションを加えると、
setsearch $s,#n;
finddown;
と動きが変わる場合がでてきて、やはり混乱すると思います。

 カーソルより後ろではなく、カーソル以降を検索する searchdown2,
finddown2 があればスッキリするかな?

[ ]
RE:00315 V3.11β3No.00316
TAKA さん 01/11/02 21:18
 
TAKA です。

> カーソルより後ろではなく、カーソル以降を検索する searchdown2,
>finddown2 があればスッキリするかな?

私は検索系(つまりsearchdownやfinddownも)はオプション指定で
よいと思います。


本当は、以前要望した通り、検索のダイアログでセット出来ると良
いのですが。
setsearchはおそらく内部では8ビット以上を扱っていると思うの
で増えること自体は問題ないと思います。
#でも、動作環境での設定なので、setsearchは無理ですね。

[ ]
RE:00311 V3.11β3No.00318
秀丸担当 さん 01/11/05 19:18
 
>互換のために、マクロ動作時のみは従来通りにするように変更しても
>いいです。
>どうでしょう?

どうも、これでは問題ありのようで。。
seatchdown2 と finddown2 を設けるというのではどうでしょうか。

問題無ければやるという要望だったので、問題ありということは
次々回に見送りにして、V3.11では元に戻すかもしれません。

[ ]
RE:00318 V3.11β3No.00320
ひろ さん 01/11/05 19:27
 
 秀丸担当さん今日は、ひろです。
> seatchdown2 と finddown2 を設けるというのではどうでしょうか。
 先にも書きましたが、私はこれで良いと思います。

[ ]
RE:00318 V3.11β3No.00322
TAKA さん 01/11/05 19:57
 
TAKA です。

>>互換のために、マクロ動作時のみは従来通りにするように変更しても
>>いいです。
>>どうでしょう?
>
>どうも、これでは問題ありのようで。。
>seatchdown2 と finddown2 を設けるというのではどうでしょうか。

searchdown,up等はどのような仕様になるのでしょうか?
オプション指定でしょうか?それとも、searchdown2,up2のように
新しいものを設けるのでしょうか?
統一するなら、searchdown2,up2でよいですが。

設定に依存して動作する3を設けてもよいと思います。

[ ]
RE:00322 V3.11β3No.00323
ひろ さん 01/11/05 20:18
 
 TAKA さん今日は、ひろです。
> searchdown,up等はどのような仕様になるのでしょうか?
 あくまで想像ですが、
(1)searchdown, finddown はその設定にかかわらず、カーソル位置はヒット
しない。なぜなら、これまでのマクロとの互換性の問題があるから。
(2)searchup, findup も今までと変わらず、カーソルより前を検索。そもそ
も前方検索は、今回新設されたオプションによって動作は変わらない (あっ
てますよね) ので、。オプションや別コマンドを用意する必要がない。
ということだと思います。私の「315」はそのつもりの発言です。

> 設定に依存して動作する3を設けてもよいと思います。
 私はこれには必然性を感じません。この様なあいまいさを含むんだコード
は書きませんので。

[ ]
RE:00308 V3.11β3No.00324
水銀水 さん 01/11/05 20:40
 
 秀丸担当さん、こんばんわ。水銀水です。

>・折り返し行の最後の文字の右までマウスで選択できるようにする
 選択できることを確認致しました。

 以下、3項目ですけど、検索と範囲選択がらみなので1発言にて失礼します。

●[選択した範囲内のみ]の動作
 このオプションでの検索で、1回目の検索では範囲選択された領域にある文字列に
ヒットします。「…行単位になります」と表示されますが、実際には「範囲選択内」
で検索を開始している感じがします(論理行頭から範囲選択が始まるまでの部分にあ
る検索文字列にはヒットしないようです。範囲選択内だけの検索が実現したみたいな
気がして少しウレシイ感じもしますが…)。
 しかし、[上候補]や[下候補]では、選択範囲より前にある文字列(論理行頭と
範囲選択の先頭位置との間にある文字列)が1回目にもヒットします(「論理行単
位」なので、現行の仕様としては正しいと思われます)。
 また、「置換」では、[下検索]では「検索」と同様ですが、全置換では範囲選択
した論理行にある検索文字列(論理行頭と範囲選択の先頭位置との間にある文字列も
含めて)がすべて置換されます。

●範囲選択の検索にならない場合の検索開始位置
 改行文字などを含まない場合は、259バイト(?)までの範囲選択であれば、[検
索]ダイアログボックスの[選択した範囲内のみ]がグレーアウトして、選択した範
囲内の検索ができません。このとき、現行では、検索を開始する位置がキャレットの
位置になっていると思われます。範囲選択を上から下方向に選択した場合には、範囲
選択以降から検索を開始することになり、ちょっと感覚的にマズい動作のような気が
します。特に、検索ボックスに取り込まれている範囲選択した文字列ではない文字列
を検索したい場合には、かなり切実な問題になります。

●範囲選択して取り込んだ文字列の検索
 上の動作と同じことだろうと思いますが、たとえば「範囲選択」という文字列を範
囲選択して[検索]ダイアログボックスを表示させて検索した場合、[カーソル位置
の次の文字から検索開始]がオフになっていても、範囲選択を上から下に(一般的な
範囲選択の方向)選択するとキャレットが範囲選択の最後になってしまい、実感とし
ては「取り込んだ文字列(カーソル上にあると感じる文字列)からヒットしない」と
感じてしまいます。
 キャレットの位置に関わらず、範囲選択されている文字列を[検索]ダイアログボ
ックスに取り込んだ場合は、選択範囲の先頭から検索を開始した方が自然な感じがし
ます。


 上記の動作、再現しますでしょうか?

#個人的には、「範囲選択している文字列だけを検索対象にする」という単純な仕様
がベストと感じるんですが…(^^;


[ ]
RE:00323 V3.11β3No.00325
TAKA さん 01/11/05 22:01
 
TAKA です。

>> searchdown,up等はどのような仕様になるのでしょうか?
> あくまで想像ですが、
>(1)searchdown, finddown はその設定にかかわらず、カーソル位置はヒット
>しない。なぜなら、これまでのマクロとの互換性の問題があるから。
>(2)searchup, findup も今までと変わらず、カーソルより前を検索。そもそ
>も前方検索は、今回新設されたオプションによって動作は変わらない (あっ
>てますよね) ので、。オプションや別コマンドを用意する必要がない。
>ということだと思います。私の「315」はそのつもりの発言です。

すみません。私の勘違いです。
ファイルの先頭から検索したい場合は、1回目に2を利用して、2
回目以降に従来のものを使用するようになりますね。

1回目にオプション(パラメタ、フラグ)付きを使用するか、2を
使用するかだけの違いで、秀丸担当さんとひろさんが2を用意とい
う方向ですが、こだわりはないので、2を用意でOKです。
Arimacさんもオプション(フラグ)の方がいいというこだわ
りはありませんよね? > Arimacさん

searchdown "????", 新しいオプション(パラメタ、フラグ);
searchdown2 "????";

の違いだけですから。


>> 設定に依存して動作する3を設けてもよいと思います。
> 私はこれには必然性を感じません。この様なあいまいさを含むんだコード
>は書きませんので。

設定に依存した検索を行い、その後に何かの処理をするというよう
な、標準の検索を少し拡張したマクロなども作れるなーと思いまし
た。


P.S.
ようやくWindows XPのインストールが終わり、秀丸とメーラーだけ
設定完了。ふー、疲れた。

[ ]
RE:00325 V3.11β3No.00326
Arimac さん 01/11/05 23:12
 
>ファイルの先頭から検索したい場合は、1回目に2を利用して、2
>回目以降に従来のものを使用するようになりますね。

3.11β3の searchdown は(例のチェックボックスoffで)検索後、
範囲選択している状態だとカーソル位置の次の文字から検索している
ので searchdown2 が同様のものになるとすると、
escapeやカーソル位置を移動しない限り
2回目以降も searchdown2 で行けると思います(^^;

>Arimacさんもオプション(フラグ)の方がいいというこだわ
>りはありませんよね? > Arimacさん

私はどっちでも良いです(^^;

[ ]
RE:00326 V3.11β3No.00328
TAKA さん 01/11/06 10:30
 
TAKA です。

>>ファイルの先頭から検索したい場合は、1回目に2を利用して、2
>>回目以降に従来のものを使用するようになりますね。
>
>3.11β3の searchdown は(例のチェックボックスoffで)検索後、
>範囲選択している状態だとカーソル位置の次の文字から検索している
>ので searchdown2 が同様のものになるとすると、
>escapeやカーソル位置を移動しない限り
>2回目以降も searchdown2 で行けると思います(^^;

マクロ命令で、直前の動作によっては、次の文字からの検索になる
という仕様は非常にまずいです。
例えば、普通に検索した直後に、マクロで検索すると、カーソルの
次から検索されたりしてしまいます。

私としてはsearchdownはカーソルの次から、searchdown2がカーソル
位置からという仕様がいいです。(直前の動作に依存しないで)
searchdown2を使用して無限ループにおちいるのはプログラムミスで
良いです。

この仕様がだめなら、マクロ命令で、確実にカーソル位置から検索
する方法と、どのような場合にカーソルの次からになり、どのよう
な場合にカーソル位置からになるか、明確な仕様の提示をして頂か
ないと不安です(困る)。

「その他→動作環境→ユーザーインターフェース」の「検索での表
示」を「点滅表示」、
「その他→動作環境→編集→高度な編集」の「カーソル位置の次の
文字から検索を開始」をOFF、

// テストファイル(ここから)
TEST
TEST
// テストファイル(ここから)

// テストマクロ(ここから)
    escape;
    searchdown "TEST";      // 次からはsearchdown2
    endmacro;
// テストマクロ(ここまで)

通常の検索で「TEST」を検索した直後にマクロを動かすと、マクロ
の意図しては1行目にヒットさせたいのに、マクロ実行前に検索を
しているため、2行目にヒットしてしまいます。

また、
// テストマクロ(ここから)
    escape;
    searchdown "TE";        // 次からはsearchdown2
    escape;
    searchdown "TEST";      // 次からはsearchdown2
    endmacro;
// テストマクロ(ここまで)
検索をやり直したい場合に、2回目のやり直し検索で、1行目にヒ
ットしないというのも、つらいです。

searchdownはカーソルの次から、searchdown2がカーソル位置から
という単純な仕様でないと困ると思います。
(ループ内でsearchdown2を使用して無限ループに陥るのはプログ
ラムミス)

私は、今までの動作がどうであっても、カーソルの次から検索した
り、カーソル位置から検索したり自由にできさえすればかまわない
のですが、出来ないというのは意味がないと思います。

シンプルイズベストだと思います。
いかがでしょうか? > ALL

[ ]
RE:00328 V3.11β3No.00329
ひろ さん 01/11/06 12:04
 
 TAKA さん今日は、ひろです。
> マクロ命令で、直前の動作によっては、次の文字からの検索になる
> という仕様は非常にまずいです。
 私は、マクロの命令とメニューからの操作が異なる方が、エディタのマク
ロとしては違和感を感じます。

> この仕様がだめなら、マクロ命令で、確実にカーソル位置から検索
> する方法と、どのような場合にカーソルの次からになり、どのよう
> な場合にカーソル位置からになるか、明確な仕様の提示をして頂か
> ないと不安です(困る)。
 直前に検索系のコマンドを使用しているかいないかで、メニューからと同
じですよね。→秀丸担当さん。

[ ]
RE:00328 V3.11β3No.00330
Arimac さん 01/11/06 12:58
 
メニューの下候補はキー操作の保存をすると
現状でも

    searchdown "○" , casesense;
    if( ! result )  beep;

という複数のコマンドになるので

    if (hitting) {  // 検索後ブリンク状態?
      searchdown "○" , casesense;
    } else {
      searchdown2 "○" , casesense;
    }
    if( ! result )  beep;

という感じの操作記録になると良いかも知れません。
(hittingには選択状態の場合も含まれる)
(searchdown2は必ずカーソル位置からの検索)

でも、その他メニューのコマンド一覧がますます実際の
コマンドに一致しなくなるような気もします(^^;

[ ]
RE:00328 V3.11β3No.00331
TAKA さん 01/11/06 13:28
 
TAKA です。

>私は、今までの動作がどうであっても、カーソルの次から検索した
>り、カーソル位置から検索したり自由にできさえすればかまわない
>のですが、出来ないというのは意味がないと思います。

envchangedのような危険をおかさずに、出来る方法を提供して頂け
れば問題ありませんので、よろしくお願いします。

[ ]
RE:00329 V3.11β3No.00332
TAKA さん 01/11/06 17:55
 
TAKA です。

>> マクロ命令で、直前の動作によっては、次の文字からの検索になる
>> という仕様は非常にまずいです。
> 私は、マクロの命令とメニューからの操作が異なる方が、エディタのマク
>ロとしては違和感を感じます。

少なくともsearchdownに関しては、通常の検索と同じ動きをされて
は困るということで、みなさん意見は一致していると思います。
(互換性の問題で)

同じ動きが欲しいなら、前回も言った通り、searchdown3を用意す
ればいいと思います。
Arimacさんの言われているキー操作の保存は、
    searchdown3 "○" , casesense;
    if( ! result )  beep;
で良いと思います。

問題は、カーソル位置から検索する方法がないと困るということな
のですが。
私は、この機能をsearchdown2が満たしてくれれば良いと思います。

ひろさんとしては、どのような方法で、確実にカーソル位置から検
索出来ればよいと思われているでしょうか?
それとも、そのような必要性はないということでしょうか?
^^^^^^^^^^^^^^^^^^^^^^^^^^^
私は、欲しいということを言っているのですが。


>> この仕様がだめなら、マクロ命令で、確実にカーソル位置から検索
>> する方法と、どのような場合にカーソルの次からになり、どのよう
>> な場合にカーソル位置からになるか、明確な仕様の提示をして頂か
>> ないと不安です(困る)。
> 直前に検索系のコマンドを使用しているかいないかで、メニューからと同
>じですよね。→秀丸担当さん。

少なくとも、検索に失敗したか成功したかでも結果が違いますし、
「その他→動作環境→ユーザーインターフェース」の「検索での表
示」を「点滅表示」にした場合と「範囲選択」にした場合で、検索
後にESCキーを押して、マクロを実行すると、動きが違います。
(検索された文字は一緒で、カーソルの位置は一緒であるにも関わ
らず)

searchdown2が無条件でカーソル位置から検索するようになれば、
これらの仕様は知っておかなくても良いですが。

[ ]
RE:00332 V3.11β3No.00333
ひろ さん 01/11/06 18:34
 
 TAKA さん今日は、ひろです。
> 問題は、カーソル位置から検索する方法がないと困るということな
> のですが。
> 私は、この機能をsearchdown2が満たしてくれれば良いと思います。
>
> ひろさんとしては、どのような方法で、確実にカーソル位置から検
> 索出来ればよいと思われているでしょうか?
> それとも、そのような必要性はないということでしょうか?
 私は次のように考えています。
(1)searchdown2/finddown2 については、件のオプションが OFF の場合の下
検索と同じ動作
(2)これは直前のコマンドによって、次の候補に移動する/しないが変化する
が、メニューから行った場合と同じ動きですので、構わない
(3)確実にカーソル位置から検索を行うコマンドは必要性を感じない。
  なぜなら escape, moveto, movelieno を組み合わせれば、出来るから。

[ ]
RE:00324 V3.11β3No.00335
秀丸担当 さん 01/11/06 19:22
 
>●[選択した範囲内のみ]の動作
たしかに言われている通りになります。
言われるまではこの動作で問題無いと思っていましたが、カーソル位置を
起点としているわけでもない(カーソル位置が範囲選択の下にある場合)
ので、仕様的に変ですね。

>●範囲選択の検索にならない場合の検索開始位置
再現できました。259バイトというのはおかしいです。
バグかもしれないので調べておきます。

>●範囲選択して取り込んだ文字列の検索
たしかに違和感がありますが、仕様的には正しいといえると思います。
他の方の意見を伺いたいところです。
どうでしょう?

[ ]
RE:00333 V3.11β3No.00337
秀丸担当 さん 01/11/06 19:28
 
>(1)searchdown2/finddown2 については、件のオプションが OFF の場合の下
>検索と同じ動作

β4においてsearchdown2,searchup2,finddown2,findup2を作ってみました。

searchup2,findup2は新しく作った意味がありませんが、便宜上(?)用意
しました。

キー操作の記録では動作環境によって記録する文が異なります。
(searchdownとsearchdown2)

[ ]
RE:00333 V3.11β3No.00342
TAKA さん 01/11/06 21:39
 
TAKA です。

>(3)確実にカーソル位置から検索を行うコマンドは必要性を感じない。
>  なぜなら escape, moveto, movelieno を組み合わせれば、出来るから。

「その他→動作環境→ユーザーインターフェース」の「検索での表
示」を「点滅表示」、
「その他→動作環境→編集→高度な編集」の「カーソル位置の次の
文字から検索を開始」をOFF、
の状態で、

// テストファイル(ここから)
TEST
// テストファイル(ここから)

// テストマクロ(ここから)
    escape;
    moveto 0, 0;
    searchdown2 "TEST";


    // 今までの操作に依存しないで、カーソル位置から検索したい
    escape;
    moveto x, y;        // これがあれば正常に動作する。
    searchdown2 "TEST";
    if( result )    message "成功";
    else            message "失敗";
    endmacro;
// テストマクロ(ここまで)

を実行したところ、「moveto」があれば正常に(意図した通り)動
作しました。
「moveto」で現在と同じ位置に動かすという意味のないダミー命令
があれば、意図した通り動くようです。
「moveto」ではカーソルが動く動かないに関わらず、秀丸が内部で
かかえているフラグ(一発目の検索かどうかのフラグ)をクリアし
てくれるという仕様のようです。

今までの操作に依存しないで、カーソル位置から検索したい場合は、
このようなコーディングが正しいのでしょうか? > 秀丸担当さん

[ ]
RE:00335 V3.11β3No.00343
ひろ さん 01/11/07 00:03
 
 秀丸担当さん今日は、ひろです。
 ほとんど感想です(^^;。
> >●[選択した範囲内のみ]の動作
> たしかに言われている通りになります。
> 言われるまではこの動作で問題無いと思っていましたが、カーソル位置を
> 起点としているわけでもない(カーソル位置が範囲選択の下にある場合)
> ので、仕様的に変ですね。
 仕様と一致しないので、変ですね。

> >●範囲選択の検索にならない場合の検索開始位置
> 再現できました。259バイトというのはおかしいです。
> バグかもしれないので調べておきます。
 仕様かどうか解りませんが、やはりどの様な場合も文字列取り込み時の範
囲選択の先頭から範囲選択して欲しいですね。

> >●範囲選択して取り込んだ文字列の検索
> たしかに違和感がありますが、仕様的には正しいといえると思います。
 検索時は気になりませんが、置換をするときは気になりますね。
 検索系コマンドに関しては、範囲選択している場合は、常に範囲選択の先
頭をキャレット位置とした方が解りやすいかもしれません。ただこういった
仕様にすると、「ユーザーインターフェース」→「検索での表示」が「範囲
選択」になっている場合、直前に行ったコマンドが検索系であるかどうかに
よって変化させる必要があり、レベルダウンバグなどへ以外が出ないかが心
配です。
 ##あと秀丸本の該当部分を書き直す必要が出てきませんか?→水銀水さん

[ ]
RE:00342 V3.11β3No.00345
秀丸担当 さん 01/11/08 17:23
 
>「moveto」で現在と同じ位置に動かすという意味のないダミー命令
>があれば、意図した通り動くようです。
>「moveto」ではカーソルが動く動かないに関わらず、秀丸が内部で
>かかえているフラグ(一発目の検索かどうかのフラグ)をクリアし
>てくれるという仕様のようです。
>
>今までの操作に依存しないで、カーソル位置から検索したい場合は、
>このようなコーディングが正しいのでしょうか? > 秀丸担当さん

これで問題無いと思います。

[ ]
RE:00343 V3.11β3No.00346
秀丸担当 さん 01/11/08 17:23
 
> 検索系コマンドに関しては、範囲選択している場合は、常に範囲選択の先
>頭をキャレット位置とした方が解りやすいかもしれません。ただこういった
>仕様にすると、「ユーザーインターフェース」→「検索での表示」が「範囲
>選択」になっている場合、直前に行ったコマンドが検索系であるかどうかに
>よって変化させる必要があり、レベルダウンバグなどへ以外が出ないかが心
>配です。

たしかに、その通りですね。
範囲選択時の検索はこのところ複雑になりつつあるので、この件は
このままでいこうと思います。

[ ]
RE:00345 V3.11β3No.00348
TAKA さん 01/11/08 17:40
 
TAKA です。

>>「moveto」で現在と同じ位置に動かすという意味のないダミー命令
>>があれば、意図した通り動くようです。
>>「moveto」ではカーソルが動く動かないに関わらず、秀丸が内部で
>>かかえているフラグ(一発目の検索かどうかのフラグ)をクリアし
>>てくれるという仕様のようです。
>>
>>今までの操作に依存しないで、カーソル位置から検索したい場合は、
>>このようなコーディングが正しいのでしょうか? > 秀丸担当さん
>
>これで問題無いと思います。

コメントありがとうございます。
これで、安心して使えそうです。

[ ]
RE:00335 V3.11β3No.00350
秀丸担当 さん 01/11/09 15:01
 
>>●範囲選択の検索にならない場合の検索開始位置
>再現できました。259バイトというのはおかしいです。
>バグかもしれないので調べておきます。

どうも私は要点を勘違いしておりましたようです。
259バイトというのは検索文字列として取得できる文字の上限で、
単にこれを超えると「選択した範囲のみ」になるということでした。
要点としているのは「●範囲選択して取り込んだ文字列の検索」で
述べられていることと同じでしたね。
とりあえずこの件も仕様的に正しいと言えるので、このままでいこ
うと思います。

[ ]
RE:00350 V3.11β3No.00360
水銀水 さん 01/11/09 23:12
 
 お忙しい所、たいへん理解しにくい文章で報告してしまい、申し訳ないですm(_ _)m
 で、今回は例で説明します(^^;(なお、例は1論理行です)

>●[選択した範囲内のみ]の動作
 下の例で、■の直後から●の直前までを範囲選択して「あいうえお」で下検索する
と、「行単位となります」と表示した後に■の直後の「あいうえお」からヒットし始
めます(「上検索」では論理行頭の「あいうえお」までヒットします)。
 「行単位」と明示しているわけですから、行頭の(■の前にある)「あいうえお」
からヒットし始めるのが自然だと感じます(実際に、同じ部分を範囲選択しての「全
置換」では行頭にある「あいうえお」から置換されています)。

(例1)
あいうえおあいうえお■あいうえおあいうえおあいうえおあいうえおあいうえおあい
うえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう
えおあいうえおあいうえおあいうえおあいうえおあいうえお●あいうえおあいうえお


>●範囲選択の検索にならない場合の検索開始位置
>259バイトというのは検索文字列として取得できる文字の上限で、
>単にこれを超えると「選択した範囲のみ」になるということでした。
 259バイトの件は了解しております。わかりにくい説明で申し訳ないですが、問
題だと感じてしまう危険性があるのは、「範囲選択のみ」がグレーアウトしている際
に、範囲選択した方向で結果が異なって感じられてしまうことです。
 下の(例2)で、■の直後から範囲選択を開始して、●の直前までを範囲選択して
「あいうえお」で下検索すると、●の次にある「あいうえお」にヒットします。一方、
●から範囲選択を開始して、■に直後までを選択した場合には、■の直後の「あいう
えお」にヒットします。
 この動作を「範囲選択のみがグレーアウトしている時には、キャレットの位置から
検索を開始する」という仕様が理解されていれば問題ないのですが、一般的なユー
ザーに「キャレットの位置」というのを周知させるのはかなり難しいと感じます。
「範囲選択されている部分」は一般的なユーザーにしてみれば、前から選択しようが
後から選択しようが、おそらく同じ「範囲選択した部分」としか理解されないと思い
ます。すると、この動作はヒットする位置が違いすぎるような感じをもたれる危険性
があると思ったわけです。

(例2)
あいうえおあいうえお■あいうえおあいうえおあいうえおあいうえおあいうえおあい
うえおあいうえおあいうえおあいうえおあいうえお●あいうえおあいうえおあいうえ
おあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお


 で、いろいろ試験してみるに、最終的には秀丸担当さんに頑張って頂いて、「普通
に『範囲選択している部分』だけを検索』するような仕様にバージョンアップしてい
ただくしかないのかな、と痛感しております(^^;;; やはり、現行の仕様には、どう
ひいき目に見ても、相当の無理があると思われます…。

(複数行の範囲選択では、下検索がヒットし始めるには範囲選択されている先頭から
だし、上検索がヒットし始めるのは範囲選択されている最後からだから、素人目には
意外に簡単に「真の範囲選択のみの検索」も実現しそうな雰囲気を感じていたりする
のですが…)

[ ]
RE:00360 V3.11β3No.00369
秀丸担当 さん 01/11/12 18:37
 
> で、いろいろ試験してみるに、最終的には秀丸担当さんに頑張って頂いて、「普
>通に『範囲選択している部分』だけを検索』するような仕様にバージョンアップし
>ていただくしかないのかな、と痛感しております(^^;;; やはり、現行の仕様には、
>どうひいき目に見ても、相当の無理があると思われます…。

説明ありがとうございます。
行く末は、真の範囲選択のみの検索をしたいですが、ネックとなるのは
置換の動作で、置換する文字によって範囲が変化していくので難しいで
す。
検索のみに限定すれば比較的簡単にできると思います。
次のβでまた改善してみます。

[ ]
RE:00369 V3.11β3No.00379
水銀水 さん 01/11/13 16:51
 
 秀丸担当さん、こんにちわ。

>「選択した範囲のみ」のときの動作変更。

 うぐぐっ! スゴすぎますっ! あまりに美しいです!
複数の秀丸で「次の秀丸も続けて検索」をオンにして、複数の秀丸でそれぞれ「選択
した範囲」を指定してみると、腰が抜けそうになりました(^^)

 で、取り急ぎ、現状で気づいた点など。

●範囲選択した後の[Ctrl+Home]など
 範囲選択をして[検索]ダイアログボックスを表示させた状態で、Ctrl+Home(End)
などで選択した領域を変えた場合、範囲選択される領域が「キャレットの位置から」
になっているようです。キャレットの位置に関わりなく、範囲選択された領域を含む
方が良いような気がします。

●「範囲選択」の領域の拡大など
 中間色の選択範囲は編集しても拡大縮小されて、いろいろな使い方ができそうです。
ただ、「タブ文字」とか「全角空白文字」などを入れた場合には、新しくできる次の
行が中間色にならなくなる場合もあるようです。いつも再現するとは限らないので、
ビデオ関連の問題かもしれませんが、一応、ご報告まで。


 それにしても美しい! 中間色は正式版ではなくなるかもしれないようですが、
「範囲選択した領域を、ユーザー自身が明確に覚えていない」ことも多々あります。
範囲選択を明示的に表せる「中間色表示」は非常にユーザーフレンドリーな機能なの
で、ぜひ正式版でも残して頂きたいと強く感じています。
 こんなすばらしい機能だと、「行単位」から「真の範囲選択のみ」へ、無茶苦茶、
期待感が高まってしまいますッ! それにしても、スゴイっす、美しいっす!!



[ ]
RE:00379 V3.11β3No.00382
秀丸担当 さん 01/11/14 18:20
 
>複数の秀丸で「次の秀丸も続けて検索」をオンにして、複数の秀丸でそれぞれ「選
>択した範囲」を指定してみると、腰が抜けそうになりました(^^)

む、こんな風にも使えたのですね…

>●範囲選択した後の[Ctrl+Home]など

これは以前にも要望がありましたがついでにやってみようと思います。
で、やってみて気づいたのですが、Ctrl+Homeの後、Ctrl+Endを押すと、
全部選択されることになってしまうのですがいいのでしょうか?

>●「範囲選択」の領域の拡大など
> 中間色の選択範囲は編集しても拡大縮小されて、いろいろな使い方ができそうで
>す。ただ、「タブ文字」とか「全角空白文字」などを入れた場合には、新しくでき
>る次の行が中間色にならなくなる場合もあるようです。いつも再現するとは限らな
>いので、ビデオ関連の問題かもしれませんが、一応、ご報告まで。

「タブ文字」とか「全角空白文字」などを入れた場合に新しくできる行とは?
改行文字が折り返しに到達して、新しく行ができるときでしょうか?
いろいろやってみましたが再現できませんでした。


[ ]
RE:00382 V3.11β3No.00387
ひろ さん 01/11/14 20:20
 
 秀丸担当さん今日は、ひろです。
> >ただ、「タブ文字」とか「全角空白文字」などを入れた場合には、新しくでき
> >る次の行が中間色にならなくなる場合もあるようです。いつも再現するとは限らな
> >いので、ビデオ関連の問題かもしれませんが、一応、ご報告まで。
>
> 「タブ文字」とか「全角空白文字」などを入れた場合に新しくできる行とは?
> 改行文字が折り返しに到達して、新しく行ができるときでしょうか?
> いろいろやってみましたが再現できませんでした。
 私の環境では、単純に改行を入れると、次の行が文字化けのようになったり、中間色
ではなく、白 (ひょっとすると、背景の色?) になります。ディスプレイドライバのバグ
かとも思いましたが、複数の環境 (どちらも Windows98) で起きましたので、ご報告し
ます。

[ ]
RE:00382 V3.11β3No.00391
水銀水 さん 01/11/15 11:27
 

●複数の秀丸で範囲選択をして「次の秀丸も続けて検索」をオン
 こんな風に使えて、すごく便利になりそうです(^^) なんだか1つぶで100回美味
しいって感じです(^^;;;
(この中間色の範囲選択、1つの秀丸の中で複数の領域が設定できたら、激烈に便利
になってしまいそうですけど、おねだりマンには変身しないことにします。マクロ的
には、現行の「文字定数のカラー化」と色の属性を検索する機能を併用すれば、なん
とか近い物ができそうな気がしたりしてワクワク状態です)


> >●範囲選択した後の[Ctrl+Home]など
>
> これは以前にも要望がありましたがついでにやってみようと思います。
> で、やってみて気づいたのですが、Ctrl+Homeの後、Ctrl+Endを押すと、
> 全部選択されることになってしまうのですがいいのでしょうか?

 これは通常の範囲選択の動作にも影響しそうで確かに難しい問題かもしれません。
キャレットの位置を範囲選択の先頭として考えるのであれば、現行の仕様がもっとも
正しいと言えます。折り返しされている行などで文字列を2,3行に渡って範囲選択
している際には、HomeやEndでキャレットの移動と範囲選択が連動していること以外
は誤動作と感じてしまいます。
 一方で、「範囲選択をして先頭や末尾に範囲を拡張したい場合には、どれだけキャ
レットが意識されているのか」という見方もあるわけです。範囲選択した状態から、
先頭や末尾に移動した際、キャレットが範囲選択の領域のどこにあったかを覚えて操
作するユーザがどれだけ多いのか、ということです。個人的にはおそらく、キャレッ
トの位置より、範囲選択した部分を意識している人の方が多いのではないかと思いま
すが、これもユーザーの慣れの問題もありますし…。

 で、これらをまとめると個人的には、次のような仕様が自然な感じがします。
・矢印キーやEnd,Homeなどでの範囲選択は現行通り
・Ctrl+Homeなどの移動と範囲選択を伴う場合には、範囲選択された部分を常に含む
ことにする(Ctrl+Homeでは常に(Ctrl+Endの後でも)ファイルの先頭から範囲選択
領域、Ctrl+Endでは常に(Ctrl+Homeの後でも)ファイルの最後から範囲選択領域)
・Ctrl+Homeなどでキャレットが移動した後で、Escキーで[検索]ダイアログボック
スを閉じた時には、もとの範囲選択領域が範囲選択されている(あるは範囲選択され
ていた領域の先頭か最後にカーソルが戻っている)

 これは「範囲選択をした」という行為をもっとも重視した仕様だろうと考えますが、
現行の仕様も「キャレット」という視点で考えれば、まったく問題がないという気は
します。(動作環境などで現行の仕様を維持するオプションなども考えられますけど、
こうしたベーシックな動作にはそうした設定はそぐわないものかもしれませんね)

> >●「範囲選択」の領域の拡大など
> 改行文字が折り返しに到達して、新しく行ができるときでしょうか?
> いろいろやってみましたが再現できませんでした。

 こちらの環境ではやっと再現性がつかめました。範囲選択した最後の位置が折り返
し行の位置にある時に再現します。
 たとえば折り返し文字数40とします(漢数字の次で折り返し)。)
1□□□□□□□□■□□□□□□□□□一
2□□□□□□□□■□□□□□□□□□二
3□□□□□□□□■□□□□□□□□□三
4□□□□□□□□■□□□□□□□□□四
5□□□▼□□□□■□□□□□□□□□五
6□□□□□□□□■□□□□□□□□□六
7□□□□□□□□●□□□□□□□□□七

(1)次の行の範囲選択
 ●にカーソルを置いて、文字(タブを含めて何で)を挿入すると、「七」が次の行
に送られますが、その文字が中間色になっていません。
 また、挿入した文字を削除(あるいは「やり直し」でも)すると、当初の七行目の
中間色が消えて(当初の六行目まで)しまいます。

(2)最終行の二重表示
 ▼の前で改行を入れると(挿入モード)、次のようになります。

1□□□□□□□□■□□□□□□□□□一
2□□□□□□□□■□□□□□□□□□二
3□□□□□□□□■□□□□□□□□□三
4□□□□□□□□■□□□□□□□□□四
5□□□
▼□□□□■□□□□□□□□□五6□□□
□□□□□■□□□□□□□□□六7□□□
□□□□□●□□□□□□□□□七
□□□□□●□□□□□□□□□七

 ただし、最後の1行はスクロールさせたり、マウスのホイールを動かすと消えるの
で、こちらのビデオボードに関連した現象かもしれません。

(またまた長くなって申し訳ないです)

[ ]
RE:00391 V3.11β3No.00393
秀丸担当 さん 01/11/16 18:39
 
>> >●範囲選択した後の[Ctrl+Home]など

> で、これらをまとめると個人的には、次のような仕様が自然な感じがします。
>・矢印キーやEnd,Homeなどでの範囲選択は現行通り
>・Ctrl+Homeなどの移動と範囲選択を伴う場合には、範囲選択された部分を常に含む
>ことにする(Ctrl+Homeでは常に(Ctrl+Endの後でも)ファイルの先頭から範囲選択
>領域、Ctrl+Endでは常に(Ctrl+Homeの後でも)ファイルの最後から範囲選択領域)
>・Ctrl+Homeなどでキャレットが移動した後で、Escキーで[検索]ダイアログボッ
>クスを閉じた時には、もとの範囲選択領域が範囲選択されている(あるは範囲選択
>されていた領域の先頭か最後にカーソルが戻っている)

これは、大変申し訳ないですが、いろいろ考えたところ、従来通りに戻そう
と思います。
この動作になると、1つ「特別な状態」が増えるので、あまり特別な状態を
作りすぎると後で問題になりやすいと思うのです。
一般的にあまり使わないような機能だと思いますので。すみません。

> こちらの環境ではやっと再現性がつかめました。範囲選択した最後の位置が折り
>返し行の位置にある時に再現します。

再現できました。
ありがとうございます。

[ ]
RE:00393 V3.11β3No.00399
水銀水 さん 01/11/19 09:49
 
>>> >●範囲選択した後の[Ctrl+Home]など

>これは、大変申し訳ないですが、いろいろ考えたところ、従来通りに戻そう
>と思います。
>この動作になると、1つ「特別な状態」が増えるので、あまり特別な状態を
>作りすぎると後で問題になりやすいと思うのです。

 確かに、おっしゃる通りだと思います。動作は統一されていたほうが
わかりやすいし、何より美しいですから(^^;
 しかもコンとルールメニューには「ファイルの先頭へ移動」とあります。これが
「ファイルの先頭へ(範囲を)拡大」とあればまた別ですが、こうした部分にまで配
慮が行き渡っているという…。
(ちなみに、置換の時は困るだろうと思ったら、ちゃんと、置換ダイアログボックス
ではコントロールメニューがない…。まるおさんや秀丸担当さんの努力は言うまでも
なく、これまでの秀丸ユーザーさんたちの要望の集約ということだろうと思います。
改めて、素晴らしいですね!


[ ]