FGALDC 15 /RE:17262 RE:あへん  こんにちは、和生 さん 》  ここだけがちょっと・・・・(^^;。「バッファ内文字列の改行コードをヌルに」 え〜と(ごそごそ)、なるほど、&SO は文字列のサーチですか。 マニュアルを見ずにコメントをつけているのがバレバレですね。 》  まぁ,さぁ,書いてみましょうよ。(^^; ということで、書いてみました。 タイトル行で起動すれば、あとは #I でなんとでもできると思います。 とりあえず、「ほとんど嫌がらせ」のようなタイトルには対応しています。 = TEST1 * m 1 ^^ "test1" &x(39) ;タイトルの先頭にカーソルを持ってくる e='^', d=0, ;カウンタ0クリア :A ;以下、繰り返し &50 ;先頭3文字が (r==1)?{ ;[Rr][Ee][: ] であれば #g #g #g ;先頭3文字消去 d++, ;カウンタインクリメント >A } (r==2)?{ ;そうではなくて、[Rr][Ee][*^] であれば #d #d ;カーソルを2文字進める e=cd, ;乗数記号取得 #d ;さらにカーソルを1文字進める (cd<'0'||cd>'9')?>B ;もしそこが数字でなければループ脱出 &n ;数字なら &n で値取得 d=d+r, ;取得した値をカウンタ加算 :C #g (cd>='0'&&cd<='9')?>C ;数字消去 #g ;次の1文字(多分「:」)消去 #h #h #h ;先頭3文字消去 >A } ;先頭3文字がいずれでもなければループから脱出 :B ;出力ルーチン #l #54 #F #u (d==0||d==1)?{ ;もしカウンタが0か1なら "RE:" . ;先頭に RE: をつける }?{ ;それ以上の値なら &?("RE%c%d:",e,d+1) } . 50: ;「RE:」判定 (cd!='r'&&cd!='R')?{(0).} #d (cd!='e'&&cd!='E')?{#s (0).} #d (cd==':'||cd==' ')?{#s #s (1).} (cd=='^'||cd=='*')?{#s #s (2).} #s #s (0). * 極力ポインタを使わない、というポリシーがにじみ出ているようなコードですが。 ローカルマクロ50番なんか、それこそ &So を使った方がいいのかも。 でも、試しにやってみたら、かえってマクロサイズは膨らむし、うまく動かないし で散々でした。う〜む、やっぱり身の丈にあったマクロを心がけた方がいいな。                                 としき