======== block.def (v1.6) ========

#if 0

【使用方法】
　・ ^KB :矩形ブロックモード
　・ ^Y／^KK／^J :矩形ブロックのカット／コピー／インサート

【注意事項】
　・上書きモードで矩形カットした場合は、空白で埋めます。
　・矩形ブロックのカット／コピーを行なったあと、通常のカット＆ペーストを
　　行なっても、矩形ブロックは保存されます。
　・矩形ブロックのペースト（^KC）はできません。
　・折り返しのある行では正常に動作しません。
					(original coding by Aiming Off)
#endif

* M マクロ

80 ^KB "矩形ブロックモード"
	?. #b (mb)?{ mb=4, xb=lx, }

81 ^Y [F08] "矩形ブロック削除"
	m=#y, &01 cm=47,

82 ^KK \[F08] "矩形ブロック記憶"
	m=#k, &01 cm=48,

1:	(s)?.
	(mb&4)??{ &o(m) . }
	&s
	x=-1, (kx>xb)? x=kx,
	n=ln, #b #B (ln<n)?{ n=ln, #B }
	b=$e, (ln==n)? >B
:A	#< #s #<
:B	&x(xb) #b mb=b,
	(x<0)? #> ? &x(x)
	(m==#k)  ? #k
		 ? { i=lx, #y (mi)? &#68(i) }
	b=6, (ln>n)? >A
	&x(xb)
	&d

83 ^J [F09] "矩形ブロック挿入"
	?.
	&Bm (r==-1)?. (r&4)??{ #i . }
	&s
	ei[-, ek[-,
	x=lx,
:A	(ct <= 1)?{ #> &#68(x) #> }
	#i r[, #x (r)?{ #> #m }
	r], (r&8)?? >A
	ek], ei],
	&d cm=48,

85 [ESC]] "行末のSPACE･TABの削除"
	?. (mb)??.
	&s
	n=ln, #b #B (ln>n)?{ n=ln, #B }
:A	(ln>=n)? >Z
	#>
	(lx)?{ #s (ct==2)?{ #d #16 } }
	#x >A
:Z	&d

;======== End of block.def ========
