w3mを改造しようとしている

連休と連休明けの風邪で生活リズムが壊れたが
ようやく平常日課に復帰してきた。
家に帰る度に病んでくるのは如何なものか。


実家に帰ったときに余りにも暇なのではじめた
w3m改造計画の第1段階(c++としてコンパイルする)がやっと完了した。

ちょこちょこっとヘッダを整理してc++で通るようにしただけなのに膨大な作業が発生した。
コード量が6万行くらいある(libwc, terms, regex, myctypeなどの独立性が高そうな部分は
あまり手を入れなくてもようさそう)のでそれなりの作業が発生するのはやむを得ないが、
さらにあまりモジュール化されていないために影響範囲を限定して少しずつ進める
ことができずに作業は難航した。
特に、main.c file.c etc.cあたりのカオスっぷりが激しい。
カオスの渦の中心にはproto.hがあって
ほとんどのソースのプロトタイプ宣言をこの1ファイルに押し込んであった。
このあたりの巨大な1枚岩のような部分を手に負えるレベルまで分解するのが
当面の目標になる。


おもなやったこと。

  • CFLAGSに-wを追加(あとでなんとかする)
  • proto.hを解体して各ヘッダに分配
  • main.cとmenu.cのDEFUNを、個別のファイルに分割
  • fm.hの構造体を関係がありそうなヘッダに分配
  • *.cを*.cppにリネーム(Str.c libwc/* w3mimg/*を除く)

ToDo

  • main.c, file.c, etc.cに由来する部分を適当に分散させる
  • Bufferなどの大きい構造体を分散させる


追加したい機能はいくつかあるのだが、
その前に果てしなく地均しが続きそうだ。