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

[MD:3001]portable dumper for Emacs 21.1



永野です。

たいへんお待たせいたしました。すみません。Emacs 21.1 用の portable
dumper です。まだ Un*x 上でしか動きません。お時間のある方、どうか動か
してみてください。よろしくお願いします。

使い方は、emacs-21.1.tar.gz を展開してこの patch をあて、autoconf で 
configure 等々を作り直してから、./configure --with-pdump=debug; make 
して下さい。=debug を付けると、dump 時と load 時に stderr に message 
を出し、load 完了後に test case を走らせ、recursive-edit に入る前に3回 
GC します。=debug なしの状態はまだろくに test していないので、まずは付
けてお試し下さい。

開発は Linux kernel 2.2.19, gcc 3.0.3, GNU bunutils 2.11.2 上で行ない、
Debian testing ベースの Linux kernel 2.4.15, gcc 2.95.4, GNU binutils
2.11.92.0.12.3 上でも動作確認をしています。安定度は、完全に動きはじめ
たのが昨日で、それから自分の .emacs を読ませ、丸1日ほど pdump 版の 
Emacs を使って、cc-mode などを使って code の整形や patch の作成をやっ
て、original と違う挙動はまだ見付けていません。(さすがにこいつで mail 
を送受信する勇気はまだありません……)

code の中身についてですが、書き足した string data, interval, hash
table について現在は dump の時に思いっきり手抜きをして、load 時にたく
さんの仕事をしているので(せっかくの Lisp_Object mmap 領域が 
copy-on-write で汚れまくってしまうのも勿体ない)、global var. の退避忘
れなどの bug が片付き、Windows への porting が済んでから、Meadow 2 の 
beta release までにはもっとまともな実装に差しかえます。特に string
data 領域を mmap 可能にするのを優先します(どうしてそうなっていないんだ
ろう;;)。手抜きといえば hash table はかなりメチャクチャなことをしてい
ますが、hash table は現状、数自体が少なく、しかもまともに Vector から
要素を読んで rehash しようと思ったら僕の力では何年かかるか分からないの
で;;、しばらくはこれでいいかと思っています。

言うまでもありませんが、original の emacs-21.1.tar.gz と少しでも挙動が
違うものは全て bug です。ご報告よろしくお願いいたします。

--
Keiichiro Nagano

Attachment: pdump21-knagano-020314.diff.gz
Description: Binary data