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

Re: [MD:4808] branches/emacs-merge



うーむ。大変な作業だというのがだんだんわかってきました。
こりゃ手に負えないかも。

>>>>> In [meadow-develop : No.4811] 
>>>>> “三好” = MIYOSHI Masanori <miyoshi@xxxxxxxxxxxxxxxx> wrote:
三好> 実は emacs-21.3.50 では大規模な変更がなされているため、マージは思っ
三好> たよりも大変で苦労しています。

三好> 試行錯誤の結果、機械的なマージはあきらめて、手作業で少しずつマー
三好> ジしている最中です。

三好> とくに下記の二点が大変だと考えています。
三好> ・lisp 関連の構造体(Lisp_Object等)に大きな変更があったの。→pdump 
三好>  も修正しなければいけないんだけどよく分からない。

EMACS_21_1_RC 枝の 21.3 までは、lisp.h で定義されている
struct Lisp_Symbol が変更されていない。だから sync できて実
行可能状態にできた。

trunk は struct Lisp_Symbol が変更されているため alloc.c の
pdump 部分を修正しなくてはならない。

なんですねえ。

中身を全く理解せずに字面だけで編集してとりあえずコンパイル
して dump まではできましたが、こうなりました。

: make bootstrap
    :
: mkdir -p "../bin"
: cp -f oo-spd/i386/Meadow.exe ../bin
: cp -f oo-spd/i386/Meadow.dmp ../bin
: make[1]: Leaving directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/src'
: make - --unix -C ../src bootstrap-clean
: make[1]: Entering directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/src'
: rm -f oo-spd/i386/alloc.o
: rm -f oo-spd/i386/data.o
: rm -f oo-spd/i386/intervals.o
: rm -f oo-spd/i386/keyboard.o
: rm -f oo-spd/i386/keymap.o
: rm -f oo-spd/i386/Meadow.dmp
: make[1]: Leaving directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/src'
: make - --unix -C ../lisp bootstrap
: make[1]: Entering directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp'
: Directories: calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
: "./../bin/Meadow.exe" -batch --no-init-file --no-site-file --multibyte -l autoload \
: 	--eval '(setq find-file-hooks nil \
: 		find-file-suppress-same-file-warnings t \
: 		generated-autoload-file \
: 		  "c:/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp/loaddefs.el")' \
: 	-f batch-update-autoloads c:/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
: emacs: Variable binding depth exceeds max-specpdl-size
: make[1]: *** [autoloads] エラー 1
: make[1]: Leaving directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp'
: make: *** [bootstrap-gmake] エラー 2

src/config.h でこうすると同じ所でこうなります。
#define PDUMP 1
#define PDUMP_DEBUG
#define PDUMP_CHECK_OBJECT_VALIDITY_ON_GC


: make[1]: Leaving directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/src'
: make - --unix -C ../lisp bootstrap
: make[1]: Entering directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp'
: Directories: calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
: "./../bin/Meadow.exe" -batch --no-init-file --no-site-file --multibyte -l autoload \
: 	--eval '(setq find-file-hooks nil \
: 		find-file-suppress-same-file-warnings t \
: 		generated-autoload-file \
: 		  "c:/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp/loaddefs.el")' \
: 	-f batch-update-autoloads c:/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
: Loading pdump_header... 
: Loading pdump_header... done
:  objects_size: 3520504
: Loading dump file... 
: Loading dump file... done; load scheme: mmap
:  Loaded on an unexpected address. must relocate.
:  objectspace: from 01750050 to 01aab848
:  offset: 0174cfff
: Loading root objects... 
: Loading root objects... done; 1037 objects
: Relocating objects... 
: Relocating objects... done
: Loading pointers... 
: Loading pointers... done; 112 pointers
: Loading subr_docs... 
: Loading subr_docs... done; 1006 subr_docs
: Loading interval tree... 
: Loading interval tree... done; 21 interval trees
: Loading hash tables... 
: Loading hash tables... done; 2 hash tables
: checking root objects... 
:   staticidx: 1037, staticpidx: 10
: checking root objects... ok
: checking hash tables... 
: checking hash table 0: (322 elements)
: checking hash table 1: (0 elements)
: checking hash tables... ok
: make[1]: *** [autoloads] エラー 5
: make[1]: Leaving directory `/usr/local/src/Meadow/WOMINAHESHI-2_00b2/lisp'
: make: *** [bootstrap-gmake] エラー 2

わからん。駄目だね、こりゃ。^^;;)

cvs diff -r EMACS_21_1 -D 20011101 したものを
WOMINAHESHI-2_00b2 にあてて手で少し修正したもののパッチを置
いておきます。

http://www.meadowy.org/meadow/dists/snapshot/WOMINAHESHI-2_00b2-D20011101.patch.bz2


;; Emacs -> Meadow のパッチを作って CVS HEAD にあてるのが近道なの
;; かなあ。もしかして。

P.S.
確か CVS だと
cvs diff -r EMACS_21_1 -D 20011101
という日付指定は trunk との差分になるんじゃなかったでしたっ
け? そうじゃないとほんとにお手あげになっちゃいそう。
-- 
こせき // サポートページ
http://www.NetLaputa.ne.jp/~kose/MeadowBook/