FGALDC 14 /RE:07201 RE:HISTORY.DEF の謎  こんにちは、としき さん、自己レスです。 》なんてやってる。これ、d=(21-r) ってことでいいのかな。 ってことでいいらしいです。 もう一度状況を記します。 ・63文字以上の長いコマンドライン文字列のとき、[DEL] を押しても消せない ・63文字以上の長いコマンドライン文字列のとき、[TAB] を押しても移動先に  はコピーされるが、移動元が消えない ・ヒストリーバッファの何番目にあるかには依存しない ということで、history2.def(96-09-30バージョン)の関係ありそうな部分に、 変数の値を出力するルーチンを仕込んでみました。 (r-15&&d21-r)?. &> &Sh(pa,q) (h.)?&Sh(h,pa) ;[TAB] Move &Sn(h) &m("r=%d,d=%d,h=%x,h..-1=%d",r,d,h,h..-1) ;←これ &Sn(h) (r*d)?&Sm(h,h+r+1,h..-1-r) >A ;[DEL] Del 0: (v)?{ (v){ &Sn(q) q+=r+1, } ;Scan d は常に、[DEL] を押した時には6、[TAB] を押したときには0になっている。 h は 72E5h だけど、これがいいのか悪いのかはわからん。 h..-1 は 4095 だけど、これもいいのか悪いのかわからん。 ところが、r がきちんと文字列の長さ(&Sn(h))を返していない。 63文字以上のものでも、62という数字を返してくる。 そうか、これが原因か。 さて、このくらいの値になっていそうなものをマニュアル(P.285)で探してみる と、アプリケーションヒストリーバッファとマクロスタックですか。 でもって、vz.def ではどう指定してあるかというと Bu512 ですか。まぁいいや。 で、Ha はというと・・・げ、ない。思いっきりデフォルト値かぁ。 ということで、vz.def に Ha128 を指定することにより解決しました。 どうもお騒がせいたしました。                                 としき