V3.09β4No.00160
秀丸担当 さん 01/09/25 18:39
 
V3.09β4をアップしました。
以下の場所からダウンロードできます。
http://hide.maruo.co.jp/software/bin/hm309b4.exe

●β3からβ4の変更点
・複数行コメントの途中から変換でコメント色がずれる
・マクロ endsel 追加
・正規表現チェック時の他チェックボックスdisable状態の変更
・動作環境−ヒストリ「最近使ったファイルに入れる」
・ダイレクトタグジャンプの飛び先指定ダイアログのサイズ変更可
・movetolinenoで2バイト文字の真中にきたときは右に寄るように仕様変更
・movetoで右端のありえない位置に来る
・置き換えの高速化でテキストが壊れる
・範囲選択内置換後のカーソル位置がずれる不具合

[ ]
RE:00160 V3.09β4No.00166
ひろ さん 01/09/25 19:17
 
 秀丸担当さん今日は、ひろです。
> ・マクロ endsel 追加
 追加有り難うございます。正式公開時はヘルプにも加えて頂ければ幸いです。

[ ]
RE:00160 V3.09β4No.00168
Arimac さん 01/09/25 19:56
 
β4からかどうかは分かりませんが、
setsearchした文字列が
検索履歴に入るようになってるような・・・(^^;

[ ]
RE:00168 V3.09β4No.00170
TAKA さん 01/09/25 22:46
 
TAKA です。

>β4からかどうかは分かりませんが、
>setsearchした文字列が
>検索履歴に入るようになってるような・・・(^^;

秀丸Ver3.09β4+Windows MEでは確認出来ませんでした。

以下の手順で確認しました。何か手順が違うでしょうか?

1.「検索→検索」の検索コンボの履歴に「TEST」が入っていない
  ことを確認。
2.以下のテストマクロを実行。(検索文字列に「TEST」をセット)
3.「検索→検索」の検索コンボに「TEST」がないことを確認。

// テストマクロ(ここから)
    #SearchOpt = searchoption;
    setsearch "TEST", #SearchOpt;
    endmacro;
// テストマクロ(ここまで)

[ ]
RE:00170 V3.09β4No.00172
Arimac さん 01/09/26 09:03
 
setsearchではなくてgetsearchでした。m(_ _)m

こんなマクロ
    if (selecting) {
        if (seltopy == selendy) {
            setsearch gettext(seltopx, seltopy, selendx, selendy), 3;
        }
    } else {
        gowordtop;
        getsearch;
        setsearch searchbuffer, 3;
    }

でも以前からgetsearchで検索履歴に
入ってたかなぁ・・・?

[ ]
RE:00172 V3.09β4No.00173
TAKA さん 01/09/26 12:24
 
TAKA です。

>でも以前からgetsearchで検索履歴に
>入ってたかなぁ・・・?

手元にある一番古いVer2.27では、検索履歴に入っていました。


以前要望のあった、「検索履歴に文字列をセットする」は以下のマ
クロで可能なようです。
#既存のマクロ命令で出来てしまうので、要望としては後回しにな
 ってしまうのかな?

// テストマクロ(ここから)
    $Search = "検索文字としてセットしたい文字列";

    #FH = hidemaruhandle( 0 );
    openfile "/h";
    #TmpFH = hidemaruhandle( 0 );
    insert $Search;
    selectall;
    // 検索文字列の取得(getsearch)では、検索履歴にも入れてくれる
    // 範囲選択している場合はその範囲が対象となる
    // 履歴に入れれない複数行などは対象外
    getsearch;

    setactivehidemaru #FH;
    closehidemaruforced #TmpFH;

    endmacro;
// テストマクロ(ここまで)

[ ]
RE:00173 V3.09β4No.00174
Arimac さん 01/09/26 12:55
 
ということは

    if (selecting) {
        if (seltopy == selendy) {
            getsearch;
            setsearch searchbuffer, 3;
        }
    } else {
        gowordtop;
        getsearch;
        setsearch searchbuffer, 3;
    }

とすれば良かった分けですね。
失礼しました(^^;

[ ]
RE:00174 検索の履歴No.00175
山紫水明 さん 01/09/26 17:50
 
 Arimacさん,TAKA さん,こんにちは。

》    if (selecting) {
》        if (seltopy == selendy) {
》            getsearch;
》            setsearch searchbuffer, 3;
》        }

TAKA さんの指摘のように setsearch 文はなくても履歴に取り込むようです。
それから,表示行は複数行でも同一論理行であれば取り込んでくれます。もっとも
字数の制限があるようですが(私の環境では全角文字129でした)。
以下のマクロ実行後,検索のダイアログを出して確認できると思います。

//----------------------------------------------//
$sb = searchbuffer;
if (selecting) {
    getsearch;
    escape;
} else {
    gowordtop;
    getsearch;
}
if( searchbuffer == $sb ) message "No New Buffer";
message searchbuffer;
endmacro;
//----------------------------------------------//

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

[ ]
RE:00175 検索の履歴No.00176
Arimac さん 01/09/26 19:11
 
setsearchは検索条件(大小英字区別、単語)の
セットのためで(この後F3キーですぐ検索することもある)
if (seltopy == selendy)は単なる用心と
複数行の場合に何か機能を入れようという気になった
時に簡単にできるようにするためです(^^;
(というか元にした別のマクロの残骸だったりするけど)
escapeがないのは選択開始キーを全く使わない人
だからです(^^;

[ ]