仕様確認と要望No.07639
h-tom さん 13/01/03 22:19
 

h-tom です。

仕様確認と、要望です。

1)各種履歴について
 置換文字列に、""を指定した場合( 例:replacedialog "\\d+","" )、履歴に
 はいりませんが、これは仕様ですか?
 基本的に履歴には、""は入らないと考えてもいいのでしょうか?
 
 以下のマクロで、履歴を取得してますが、問題ないかどうかの確認です。
 (各履歴の最大数は取得出来ませんよね?)
    while(true){
        $ser = get〜hist(#n,0);
        $flg = get〜hist(#n,1);
        if($ser == "") break;
        #n = #n + 1;
    }
 ところで、フォルダヒストリ(getpathhist,setpathhist)ですが、常駐の設定
 /取得ができないです。

2)(turukame.3:07636)grep文、grepdialog2文で、searchoption2の指定
 searchoption2を指定する場合、エンコード指定も一緒に記述するとの事ですが、
 文字コードの自動判定の設定はどうなるのでしょうか?

3)マクロヘルプの誤記
  getstaticvariableのページの先頭行ですが、引数が違ってます。
  誤:getstaticvariable( n1 ) 関数
  正:getstaticvariable( s1, n1 ) 関数

以下、要望です
4)getresultex(7) の値(タグジャンプ/ダイレクトタグジャンプの判定)
 参考:http://hidemaruo.dip.jp:81/turukame/turukame_3/x1005534.html
 getresultex(7) の値ですが、タグジャンプ/ダイレクトタグジャンプ時のみ、
 設定される様に、変更できないでしょうか?
 
 自動起動マクロで、折りたたみの状態や各種設定の保存復元をやっているの
 ですが、カーソル位置の情報も保存復元の対象にしています。
 
 タグジャンプ/ダイレクトタグジャンプ時は、カーソル位置を復元しない様に
 したいので、以下の条件を使って判定していますが、
   (event == 1) && (geteventparam(0) == 0) && (getresultex(7) == lineno)
 秀丸エディタ側で、カーソル位置の復元が有効になっている場合、
   getresultex(7) == lineno
 が一致してしまい、たまにですが、誤判定する場合があります。
 カーソル位置の復元が無効の場合でも、getresultex(7)に、1がセットされて
 いる場合、判断に困ります。
 
 目的としては、自動起動マクロないで、タグジャンプ/ダイレクトタグジャンプ
 で開いたか、判定したいということです。
 その為、getresultex(7) 以外の手段があれば、その方法でもかまいません。
 (geteventparam で判定できれば、とてもありがたいです。)

[ ]
RE:07639 仕様確認と要望No.07640
秀丸担当 さん 13/01/04 10:41
 

>
>1)各種履歴について
> 置換文字列に、""を指定した場合( 例:replacedialog "\\d+","" )、履歴に
> はいりませんが、これは仕様ですか?
> 基本的に履歴には、""は入らないと考えてもいいのでしょうか?

検索/置換ダイアログで行ったときは、履歴には入らないようになっていました。
ダイアログの見た目には表れませんがsetreplacehistを使うと""を設定できて、
getreplacehistで取得は可能になっていました。

履歴の最大数の取得は確かにできないです。
現状では、検索文字列の最大が40で、置換文字列の最大が20になっています。
V7.00より前では検索文字列は20だったのがV7.00で40に拡張されました。

検索文字列については""で検索することは無いですが、置換文字列については削
除目的で""にすることがあるので、将来的に""もヒストリに入れれるようにする
可能性もあると思います。

最大数を取得する方法を追加したほうがいいと思うので、追加します。
あと現状での最大数もヘルプに追記しておきます。


> ところで、フォルダヒストリ(getpathhist,setpathhist)ですが、常駐の設定
> /取得ができないです。

フォルダヒストリについては今回は設定/取得する方法は追加していないです。
必要性に応じて考えたいと思います。


>2)(turukame.3:07636)grep文、grepdialog2文で、searchoption2の指定
> searchoption2を指定する場合、エンコード指定も一緒に記述するとの事ですが、
> 文字コードの自動判定の設定はどうなるのでしょうか?

自動判定の場合は 0 を指定すると大丈夫になる予定です。


>3)マクロヘルプの誤記
>  getstaticvariableのページの先頭行ですが、引数が違ってます。
>  誤:getstaticvariable( n1 ) 関数
>  正:getstaticvariable( s1, n1 ) 関数

ご指摘ありがとうございます。
確かにその通りでした。
修正させていただきます。


>以下、要望です
>4)getresultex(7) の値(タグジャンプ/ダイレクトタグジャンプの判定)

getresultex(7)の値は内部的な都合もあって他の秀丸エディタからも参照できる
共有の値ということになっているということもあるので、どちらかというと
geteventparamで判定できるようにするとやりやすいです。
そういう方向で検討させていただきます。

[ ]
RE:07640 仕様確認と要望No.07641
h-tom さん 13/01/06 17:32
 

h-tom です。

>>1)各種履歴について
>検索/置換ダイアログで行ったときは、履歴には入らないようになっていました。
>ダイアログの見た目には表れませんがsetreplacehistを使うと""を設定できて、
>getreplacehistで取得は可能になっていました。
<省  略>
>最大数を取得する方法を追加したほうがいいと思うので、追加します。
>あと現状での最大数もヘルプに追記しておきます。

取得出来るのは、履歴の上限ではなく、履歴の使用数ですよね?
この「履歴の使用数」ですが、マクロ側から設定可能になりますか?

マクロから、履歴を全部削除、または、一部削除し再設定(?)した場合など、
秀丸エディタ本体側に、最大値を通知することが可能かどうかです。
例)
   履歴(配列でのイメージ)
     元のデータ、最大数は3。
     $hist[0] = "a"
     $hist[1] = "b"
     $hist[2] = "c"
   
   1)全部削除
     $hist[0] = ""
     $hist[1] = ""
     $hist[2] = ""
     最大数を、0に設定したい
   
   2)一部削除し再設定
     $hist[0] = "a"
     $hist[1] = "c"   ← "b" を "c" に変更
     $hist[2] = ""    ← "c" を 削除
     最大数を、2に設定したい

>>4)getresultex(7) の値(タグジャンプ/ダイレクトタグジャンプの判定)
>getresultex(7)の値は内部的な都合もあって他の秀丸エディタからも参照できる
>共有の値ということになっているということもあるので、どちらかというと
>geteventparamで判定できるようにするとやりやすいです。
>そういう方向で検討させていただきます。
お手数ですが、よろしくお願いします。

[ ]
RE:07641 仕様確認と要望No.07642
秀丸担当 さん 13/01/07 10:29
 

>取得出来るのは、履歴の上限ではなく、履歴の使用数ですよね?

取得できるのは、上限ではなく、使用数です。
ですがインストールして間もない頃を除いて、いったん上限に達したらほぼ上限
しか返さないことになると思います。

>この「履歴の使用数」ですが、マクロ側から設定可能になりますか?

setreplacehistなどで、使用数も設定できるようにさせていただきます。
使用数を設定できるようにすることで、getreplacehistなどで得られる値もほぼ
上限ばかりということにはならず、指定した値を得られるようになると思います。

[ ]