テキストスタックの内容を出力した直後なら reblockでほぼ同じ 文字列を再度取得して使えるが,カーソル移動を行ってしまったり した場合は面倒。テキストスタックのエンドオフセットを変更する だけで済むのにそういう機能はない。探してみたけれど,絶対誰か 作っているに違いないのに見つからない。で,作ってみた。 ----------^ KZKP_BAK.DEF ( date:2010-02-10 time:00:10 ) ----< cut here = kzkp_bak.def v0.10 = by H_ear #if 0 テキストスタックのエンドオフセットを直前の出力前に戻す 出力直後ならreblockで再取得できるが,カーソルを動かしてしまった時に。 #endif * mad for vz! 1 ^\ "" ?. &s &Bm p[, r=p-, dz[=kz, ; ---- main loop ---- :l p++, ((kp+p)..0==p-1)?{ r+, >q } ;サイズ情報と照合 (p<256)?>l ;サイズ制限(LX用) ; ---- quit ---- :q dz], (r)?{ 3(kp+p+2) ;kpのアドレスを更新 &m("スタック終端オフセットを更新しました.") }?{ &m("リサイクル可能なアイテムはありません.") } :z ; ---- exit ---- p], &d #] . * [Variables] [r] flag p counter/pointer [Buffers] - [History] 2010/02/10 0.10 初版 (こんな単純でいいのか?) [Notes] テキストスタック構造 kz [{strings|type:byte|size:word}*|kp:tail…{worn-out item}*] ----------$ KZKP_BAK.DEF ( lines:36 ) ----------------------< cut here ちょっと単純すぎるのだが,復活サイズを制限すれば,使用上の ストレスはあまりないから,機械語化する必要もないし。