(10258)
10258:
TRA_TAG.DEF k06 タグジャンプマクロ更新
投稿者:
konno
2022/08/24(水) 01:23
コメント数 2
TRA_TAG.DEF k06 を更新しました。
寅次氏の多機能タグジャンプマクロ Tra_TAG.def v16 をちょっと改造した物です。
改変内容
・2022-08-24 k06 バッファ溢れ対策とタグジャンプ失敗の要因を改善
・2018-12-24 k05 cd を ct に変更、各種改行に対応<br>
・2018-12-04 k04 バッファ溢れ不具合対策 コンソールのみ<br>
・2018-10-04 k03 ディレクトリ&LFN不具合対応 <br>
今回の改変は、一つはバッファ溢れ対策です。
マクロ冒頭での処理
(wn==0)??>l ;コンソールの時バッファ溢れ対策
(wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
&s #< i0,
:x #x i=i+we,(i < 500)?>x ;カーソルを500超えるまで進める
#e #d #m #e &d #< ;500以内で改行挿入
:l
注目はここです。
(wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
1行の長さが、wa..19-wa..18 でわかるんですね。
これは色々応用できそうです。
STKHLP で知りました。先人の方々に感謝。m(__)m
もう一つは、タグジャンプ失敗の要因の改善です。
179行目
(r==2)?{ ;open
; >O ;★★k06 タグジャンプ失敗はここ?
#O &?("%s ->%s",f,pa+1) #m . ;★★k06 これに差し替えたらOKに
これは私の環境だけかもしれませんが、これに変更したら失敗がほぼ無くなりました。
Vzマクロの部屋にあります。
http://tamaneko.world.coocan.jp/vzmac.htm
- No.10258 -
このTreeへ
[リストへもどる]
pre
(10258)
10259:
Re: TRA_TAG.DEF k06 タグジャンプマクロ更新
投稿者:
文太
2022/08/24(水) 10:08
10258 番 konno さんへのコメント コメント数 1
konnoさん
さくっと入れ替えさせていただきました。
=== Tra_TAG.def v16 ===
; V16k06 konno改 2022-08-24
僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
それが登録されていました。
=== Tra_TAG.def v16 ===
; V16k02 2018-10-04 konno
miyata.shd ですね! 知らなかった。
タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
もちろん、真の原因はいまとなっては知りようもありませんが。
- No.10259 -
このTreeへ
コメント元:10258 へ
[リストへもどる]
pre
(10258)
10261:
Re^2: TRA_TAG.DEF k06 タグジャンプマクロ更新
投稿者:
konno
2022/08/24(水) 19:45
10259 番 文太 さんへのコメント
> 僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
> それが登録されていました。
> === Tra_TAG.def v16 ===
> ; V16k02 2018-10-04 konno
うげ、履歴を見ると既に載っていませんね。
;2018-12-24 k05 cd を ct に変更、各種改行に対応
;2018-12-04 k04 バッファ溢れ不具合対策 コンソールのみ
;2018-10-04 k03 ディレクトリ&LFN不具合対応
同じ日に、k03 を揚げているし。(^^;
#8207:TRA_TAG 改 V02 投稿者:konno 2018/10/05(金) を読むと
> ということで、V02 を、#test66 にUPしました。
> ・ロング行番号対応
> ・ディレクトリ対応
> ・LFN対応
> ・LZH非対応 (^^;
どうやら k03 は v02 としてテスト板#test66 にUPしてあるみたいですね。(^^;
ということで履歴は修正しました。
> miyata.shd ですね! 知らなかった。
そうです。これも偶然の産物でした。
実は冒頭のバッファ溢れ不具合対策はその後外していて、そのままUPのはずだったのです。
最近グレップ&タグジャンプの後に不具合が多発していて
23日にUP準備中に冒頭のコメントを見て、やっぱり入れとくかと思い直したのです。
その時に、その下の行
#] #? (r)?. wa..19.2-, ;行を lfb に取り込む
これが目に入って、wa..19.2-, ってなんじゃらほい、とSTKHLPを見たら
> wa..19,wb..19 ラインバッファ末尾
> ・ラインバッファ終端ポインタ。
> ※wa..19: 行がラインバッファにある時の行末のアドレス。
> これに改行コードがつく。
> wa..19.2-: 行末の改行コード(0D0Ah)の直後をヌルに。
> (PK/14/10497 / DC/15/06167/m.gann)
> ※wa..19-wa..18 で改行を含まない行の長さを求められる。
> (PK/14/10520 / DC/15/03593/wanama)
wa..19-wa..18 は 和生さんの情報だったんですね、本当に先人の方々に感謝です。
行の長さを求めるのは大変なので、もっと宣伝してほしかったですね。(^^;
最近野ざらし言で、行の長さを求めるsyoさんのマクロが話題になっていましたが
これを知っていればもっと簡単にできたのになぁ、と思いました。
例えば、としきさんのログデータ 0007.cg の1行目で
インスタント窓に wa..19-wa..18 を入れてエンターすると 3970 と出ます。
1行の長さが 3970bytesあるのが簡単にわかります。
カーソルは行内のどこにあってもいいようです。
このバッファ溢れ対策を入れたらVZの動作不具合は出なくなったようです。(^^;
根本的にはバッファを取り込む部分を直すべきなんですが。(^^;;
この対策無しでとしきさんのログデータ 0007.cg の1行目後方の文字列を
検索&タグジャンプすると、私の環境では一発でVTDOSが落ちます。
> タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
> 他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
> もちろん、真の原因はいまとなっては知りようもありませんが。
今問題が無いならいいんですが、私の改造物はバグだらけなので、少しづつ直していきます。
m(__)m
- No.10261 -
このTreeへ
コメント元:10259 へ
[リストへもどる]
pre
(10258)
10276:
TRA_TAG.DEF k06 タグジャンプマクロ 差し替え
投稿者:
konno
2022/08/26(金) 21:55
10258 番 konno さんへのコメント
このマクロ関連か原因は特定できてないんですが、不具合現象がありまして。
[F07] の置き換えの動作がおかしいときがあったのです。
それで
> (wn==0)??>l ;コンソールの時バッファ溢れ対策
> (wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
> &s #< i0,
> :x #x i=i+we,(i < 500)?>x ;カーソルを500超えるまで進める
> #e #d #m #e &d #< ;500以内で改行挿入
この 500 を 330 にしてみました。
(wa..19-wa..18 <330)?>l ;行の長さ330以内ならスルー
&s #< i0,
:x #x i=i+we,(i < 330)?>x ;カーソルを330超えるまで進める
#e #d #m #e &d #< ;330以内で改行挿入
UPマクロは差し替えました。
落とされた方はこれに差し替えてください。m(__)m
- No.10276 -
このTreeへ
コメント元:10258 へ
[リストへもどる]
pre