番号 | 記号 | 初期キー | 機能 |
---|---|---|---|
#14 | #h | ^H [BS] | バックスペース |
戻り値 r:0=成功,-1=失敗(ファイルの先頭)
削除した文字は(通常のux無効の状態であれば)削除バッファに格納され,(mg..-3).-3
に存在(2バイト文字なら(mg..-3).-4
)する。なお,mg..-3
は削除バッファの終端で,次に削除された文字はこの位置から格納される。
格納された文字の次に2バイトのサイズ情報があり,最上位の1ビットが削除方向を示すフラグになっている。削除方向は[DEL]系の操作か[BS]系の操作かで異なり,#u(削除文字(列)の復活)実行時の出力後カーソル位置に反映される。[BS]系の削除ではフラグが立たない。[DEL]系の削除で格納された場合は8000hがサイズ情報に加算される(先頭1ビットが1になり「フラグが立つ」とも言う)。
削除バッファはpq..131
の指すアドレスにあり,bc(削除文字列バッファのサイズ)で指定されたサイズのバッファです。削除バッファの直後はpu(ユーザーバッファ:マクロ配列領域の先頭)があり,削除バッファの先頭は pu-bc
でもある。
abcと入力したのち#hを三度実行すると,1文字ずつ削除された文字は次のようなイメージで削除バッファに格納される。
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬───── │ c│01│00│ b│01│00│ a│01│00│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴───── ∪ ↑mg..-3 ↑(mg..-3)..-1 ↑(mg..-3).-3 ↑(mg..-3)-((mg..-3)..-1)&$7fff+2
編集モードと同じ
編集モードと同じ
無効
初期設定では[BS]が上位のディレクトリに移動するキー
無効
14 ^H "" ;BS/overhead[\] org:Emmett
(ks&1)?#s #h ?. #d
シフト起動すると,2文字前の文字を削除する。