[HOME]  [リストへもどる]
一括表示

  Instant.def を改造2 - konno 22/08/27-22:20 No.10283

(10283) 10283Instant.def を改造2  投稿者:konno   2022/08/27(土) 22:20


 m.gann さんの Instant.def を改造しました。軟体にあるものです。
前回、#8472 2018/10/31(水) で揚げた改造の第2版です。

きっかけは、kVZの公開版のチェック中にインスタントマクロで
パスのポインタ表示が出ないことがあったからです。げげ!
使用中の私家版やその他のVZではキチンと表示出来たので、バグかと焦りました。
wa+146		フルパスのファイル名
nm		★編集テキストの相対パス名
これらが表示されないので、ポインタズレが起きているのかと焦りました。
よく見ると、ポインタの下位バイトが $0a などの時に表示されないようです。

	&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)	

原因は、'%c' で 下位バイトが $0a だとその後を表示しないためでした。
そこで、今回はこの表示順を入れ替えました。
kVZの公開版は、私の環境ではちょうど $0a になるんですよね。(^^;
ついでに、コメント3か所を取ると、$20以下の時だけ入れ替えます。
そういえばちょうど、#10281 でエスカルゴの話題が出ていますね。(^^;


======= Instant.def ======= by m.gann

・[ESC]@、いわゆるエスカルゴの拡張版です。
・全モード(s=0-3)で実行可能です。(DOS/Vの編集
  モード以外で実行するにはキー ^@ の変更が必要)
・2進数表示も行います。
・[CTRL]+M で入力した場合は &d を実行しません。
・編集モードかつ [CTRL]+[SHIFT]+M で入力した場合は
  結果をテキストへも出力します。
・"文字列" 混じりのマクロ文も実行可能です。
・メッセージを伴う場合は1秒間程度待機します。
・全ての変数は保存されます。
・変数 r の変更はできません。

;  konno改造履歴
;  2022/08/27  k02  パスなどの文字列表示を改善
;  2018/10/31  k01  スタックの数値をメニュータイトルに表示

* Macro

11 [ESC]@ ^[F01] ""	;Instant (326)
	r[, ss-, mx+,
	r=sp-pu,			;★スタックの数値の変化を
	&g("Instant: $r ",32) 		;★メニュータイトルで表示
	mx-, (s&&s<3)?{ #< #x } (r+1)?{
	&v(pn.-15=pa.0-) &Sh(pa,pw) r=pa-1,
:R	(2){ &SF(r+1,'"') (r)?,?{} } ?{ r.0-, >R }
	r][, &e(pa) :p (s>3)?{ &c >p } (pn.-15)?&w(120) ;60)★2秒表示
	p[32+pa, (i[16){ p.i--=49-(r&1<<(15-i))!, }	;eggchi
;	i=r,i=i<<8,i=i>>8,(i<$20)?>b			;rの下位バイトが$20以下?
	&m("%s: %d %u %xh %16s $"%24s$" '%c'",pw,w=r,r,r,p,r,r)
;	>e						;文字列を優先表示
;:b	&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)	;通常表示
:e	(ks&1>s&&mr-$80)?{ &s #< &?("%s",pu+bu) #m } i], p],
#if 98
	(ks&17-16)?&d
#else
;	(ks&5-4)?&d
#endif
	} (r])

*
======= end of instant.def =========

      - No.10283 -    このTreeへ           [リストへもどる] pre