setsearchhist, setreplacehist のヘルプNo.03628
Iranoan さん 03/12/17 17:38
 
 秀丸担当さん今日は、Iranoan です。
 setsearchhist, setreplacehist のヘルプの例文が不適切で、ヒストリ番号
の記載がありません。
 こちらの環境は、Windows98+IE6.0+秀丸 Ver.4.10β5 です。

[ ]
RE:03628 setsearchhist, setreplacehist No.03635
秀丸担当 さん 03/12/17 19:17
 

> setsearchhist, setreplacehist のヘルプの例文が不適切で、ヒストリ番号
>の記載がありません。

setsearchhist 数値,文字列

と書いてあって、数値の部分がヒストリ番号です。
で合ってると思うのですが、どうでしょう。

[ ]
RE:03635 setsearchhist, setreplacehist No.03639
Iranoan さん 03/12/17 23:46
 
 秀丸担当さん今日は、Iranoan です。
> setsearchhist 数値,文字列
>
> と書いてあって、数値の部分がヒストリ番号です。
 すいません。なんか寝ぼけていたようです。

 ところでこの setsearchhist ですが、既に履歴にあっても単純にその指定
された場所に上書きされます。これはこういう仕様なのでしょうか?
例えば、
setsearchhist 0, "txt";
setsearchhist 1, "txt";
とすると、0, 1 番目の両方に履歴が設定されます。指定された数字より、小
さな番号同じ履歴が有れば、指定せず無ければプッシュしていくというわけに
はいかないでしょうか? 現状ですと、メニューから実行したように、履歴を制
御するには、
(1) getsearchhist で全て取得
(2) 同じ履歴が無いか確認
(3) setsearchhist
という処理が必要になります。

[ ]
RE:03639 setsearchhist, setreplacehist No.03648
秀丸担当 さん 03/12/18 15:43
 

> ところでこの setsearchhist ですが、既に履歴にあっても単純にその指定
>された場所に上書きされます。これはこういう仕様なのでしょうか?

これは、こういう仕様です。
この仕様であれば、マニアックな要望にも応えられると思います。

[ ]
RE:03648 setsearchhist, setreplacehist No.03656
Iranoan さん 03/12/18 17:54
 
 秀丸担当さん今日は、Iranoan です。
> この仕様であれば、マニアックな要望にも応えられると思います。
 解りました。

[ ]
RE:03648 setsearchhist, setreplacehistNo.03660
IKKI さん 03/12/18 23:01
 
IKKI です。

> > ところでこの setsearchhist ですが、既に履歴にあっても単純にその指定
> >された場所に上書きされます。これはこういう仕様なのでしょうか?
>
> これは、こういう仕様です。
> この仕様であれば、マニアックな要望にも応えられると思います。

さっそく利用しております。要望を汲んでいただきありがとうございました。

  // 置換ヒストリ記録
  if (replacebuffer != "") {
    ##i = 0;
    while (##i < 20) {
      if (getreplacehist(##i) == replacebuffer) break;
      ##i = ##i + 1;
    }
    while (##i > 0) {
      setreplacehist ##i, getreplacehist(##i - 1);
      ##i = ##i - 1;
    }
    setreplacehist 0, replacebuffer;
  }

[ ]