[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:6474] Meadow-2.20-dev 状況報告



先週末に作業が大きく進みましたので Meadow-2.20-dev の sync up の状
況報告をします。

最近は、emacs-22.0.50-20050210 (*) をターゲットに Meadow-2.20-dev
の sync up 作業をやってきました。

* 2004/02/10の Emacs CVS HEAD のスナップショット

差分が非常に大きかったため、かなり面倒な作業だったのですが、どう
にか先が見えてきました。

きちんと調べたわけではありませんが、sync up 作業の 9割り近くは完了
したと思います。

大きな差分が残っているのは、xdisp.c (とそれに関連する mw32*.c)ぐら
いです。他のファイルの差分はそんなに大きくないはずです。


以下、問題があってマージしていない部分に関するメモです。

o Lisp_Float と Lisp_Cons に GC 用のマークビットを仮に追加
  (lisp.h)。pdump の実装を容易にするため。これらの両オブジェクトの
  マークビットは下記のようにオブジェクトの外部に移動された。この変
  更に、pdumper を対応させるのは面倒(というかよく分からん)だったの
  で、このように仮に対処。

alloc.c:
> struct float_block
> {
>   /* Place `floats' at the beginning, to ease up FLOAT_INDEX's job.  */
>   struct Lisp_Float floats[FLOAT_BLOCK_SIZE];
>   int gcmarkbits[1 + FLOAT_BLOCK_SIZE / (sizeof(int) * CHAR_BIT)];
>   struct float_block *next;
> };

o lisp.h の cygwin 用のコードにまだマージしていない部分がある。
  #ifdef USE_LSB_TAG 〜#endif の間の XTYPE や XINT 等。
  よく分からないエラーが生じる。

o 下記のコードはまだマージしていない。よく分からないエラーが生じる。

buffer.c:
>  if (!NILP (Ffboundp (Qucs_set_table_for_input)))
>    /* buf is on buffer-alist, so no gcpro.  */
>    call1 (Qucs_set_table_for_input, buf);


o xdisp.c の sync up はまだまだ。*term.c, *fns.c 等にばら撒かれて
  いた(*)プラットフォーム依存コードのいくつかが、抽象化されプラッ
  トフォーム非依存の xdisp.c に集約された。mw32term.c mw32fns.c
  に手直しが必要で、ちょっと面倒な作業。

* プラットフォーム毎に、ほとんど同じだがちょっとだけ違うコードが
  多数存在していて見通しが悪かった。

--
三好 雅則 http://www.boreas.dti.ne.jp/~miyoshi/