タグジャンプNo.06695
cuma さん 03/04/12 17:12
 
鶴亀上のエディタでタグジャンプをしようとするとエラーになりますが
秀丸登録ユーザの場合だけでもタグジャンプ可能に出来ないでしょうか?

[ ]
RE:06695 タグジャンプNo.06713
秀まるお さん 03/04/14 14:41
 
 タグジャンプの処理は、以前どこかのバージョンかで、わざと使えないように
修正した記録があります。とりあえず動くレベルまで直すことは、たぶん1時間
程度で可能だと思いますが、余計なバグを出して苦労するのはいやなので、とり
あえずcumaさん以外から要望が無ければやめときます。

[ ]
RE:06713 タグジャンプNo.06714
cuma さん 03/04/14 14:54
 
 cumaです。

秀まるお様 早速の調査ありがとうございます
そうですか、過去なぜか出来なくした経緯があるんですね。

皆様から要望があればうれしいですが、無いようならば確かに
よけいなバグは忙しい中ご心配だと思うので現状でOKです。

とりあえず検討頂けた事に感謝致します。

PS
 要望の背景を一応書きます。
 実は私は最近、フォルダのプロパティのメモ欄を使ってます。
 このメモに書いた内容を検索することがあって山紫水明さんから
以下のようなマクロを頂きました。
 このマクロで検索した結果を開きたい時にタグジャンプで
エラーになっておりました。
 そのためタグジャンプが鶴亀でも使えたらと期待したのが
要望の背景です。

 以下ご参考まで頂いたマクロです。



//---フォルダのメモ検索 山紫さん------------------//
$s = input( "検索語は?" );
loaddll "tkinfo.dll";
$home = dllfuncstr ("HomeDir");
#n = dllfunc("NewMail");
moveto 0, 0;
beginsel;
gofileend;
delete;
grep $s, "memo.bin", $home, subdir;
endmacro;
//--------------------------------------//

[ ]
RE:06714 タグジャンプNo.06715
秀まるお さん 03/04/14 15:25
 
 しいて、鶴亀メール上でタグジャンプさせることも、マクロを使えば出来ます。

  golinetop2; beginsel; golineend2; copy;
  runsync2 "c:\\hidemaru\\hidemaru.exe /x tagjumpbypass.mac";

 とかいうマクロを鶴亀側で用意しておいて、tagjumpbypass.macには、

    paste;
    gofiletop;
    tagjump;
    quit;

 としておけばいいです。(上記はあくまで流れを説明してるだけで、そのまま
使える物ではありません)

[ ]
RE:06715 タグジャンプNo.06716
ひろ さん 03/04/14 17:47
 
 cuma さん今日は、ひろです。
> 鶴亀メール上でタグジャンプさせることも、マクロを使えば出来ます。
 アプローチの仕方は違いますが、マクロを書いてみました。仕様は次の通り。
(1) 秀丸では普通のタグジャンプ
(2) 鶴亀では、
    1.カーソル非表示では何もしません。
    2.カーソル表示なら、秀丸で該当ファイルを開き、該当行へジャンプ
//-------------- tagjump.mac ----------------------------------------
loaddll "tkinfo.dll";
if(result){
  if(dllfunc("IsTuruKame")){
    if(browsemode)goto End;
    else{
      #x = x;
      #y = y;
      golinetop;
      #topx = x;
      #topy = y;
      $s = searchbuffer;
      #s = searchoption;
      #m = searchmode;
      openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
      writeregnum "SelectFound",1;
      envchanged;
      searchdown2 "(|[A-Za-z]:\\\\).+\\([0-9]\\):?", regular;
      moveto selendx, selendy;
      searchup "(";
      $file = gettext(#topx, #topy, x, y);
      right;
      #topx = x;
      #topy = y;
      wordrightsalnen;
      $line = gettext(#topx, #topy, x, y);
      run hidemarudir + "\\hidemaru.exe /j" + $line + " \"" + $file + "\"";
      if( !#m ){
        openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
        writeregnum "SelectFound",#m;
        envchanged;
      }
      closereg;
      setsearch $s, #s;
      moveto #x, #y;
    }
  }
  else tagjump;
}
else tagjump;

End:
  freedll;

[ ]
RE:06716 タグジャンプNo.06719
cuma さん 03/04/14 21:52
 
 cumaです。

ひろさん、こんばんは
早速の実用マクロありがとうございます。
早速登録して試用させて頂きまして、希望の動作になっていました。
感謝感謝です。

[ ]
RE:06715 タグジャンプNo.06720
cuma さん 03/04/14 21:52
 
 cumaです。

アドバイスありがとうございます。正直うまく作れるかな?と
躊躇してしまったのですが、幸にもひろさんから即利用可能な形式で
回答がありそれを活用させて頂きました。、

改版お忙しい中の回答ありがとうございます。

[ ]