出沢です

gotoh> 細かいようで申し訳ないのですが、空白ではなく改行です。

そうですね。どうもいい加減に単語を選んでしまう。

gotoh> # rfc2047を実行する部分とrfc822を解釈する部分とMUA的な表現処理
gotoh> # (unfolding, etc.)を混ぜ合わせてしまっているように感じます。:-(

そうですね、確かに。
私がこのようなものを作ろうと思ったもともとが、
   BBS の log を切り出して、MH folder に放り込んで、mew で読もう
って事なので、 822 的な部分も 2047 的なところも MUA の所も、
まとめてやってしまえ、的な発想がスタートでした。
それがそのまま続いていました。

  2047 的 decoder/encoder、822的 folding/unfolding、
  2231的 MIMEヘッダー処理ルーチン

と機能を分ける方がすっきりしますね。
で、今は 上記の BBSの のための下請けルーチンを作るなら、
どうせなら一般的なものにしよう、という所がモチベーション
で、一般的な MUA を作る野望は今のところないのです。
なので、2231的な部分は 仕様 がイメージできないのです。

とりあえず今週末版は 2047 の部分だけ。
場合によっては、decode について \n(\s+) → \1 なる method を作る。
までにしておきます。