Mercurial > emacs
view INSTALL-CVS @ 51938:20d4eb1de9b0
Use bitmaps for cons cells, as was done for floats.
(init_float, init_cons): Let the normal code allocate the first block.
(CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
(CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK): New macros.
(struct cons_block): Move conses to the beginning. Add gcmarkbits.
(Fcons): Use lisp_align_malloc and CONS_UNMARK.
(live_cons_p): Check the pointer is not past the `conses' array.
(mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
(mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
(survives_gc_p): Use CONS_MARKED_P and simplify.
(gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 15 Jul 2003 19:19:59 +0000 |
parents | ca7aa82d6f39 |
children | 88cd9cfe5459 |
line wrap: on
line source
Building and Installing Emacs from CVS Some of the files that are included in the Emacs tarball, such as byte-compiled Lisp files, are not stored in the CVS repository. Therefore, to build from CVS you must run "make bootstrap" instead of just "make": $ ./configure $ make bootstrap The bootstrap process makes sure all necessary files are rebuilt before it builds the final Emacs binary. Normally, it is not necessary to use "make bootstrap" after every CVS update. Unless there are problems, we suggest the following procedure: $ ./configure $ make $ cd lisp $ make recompile EMACS=../src/emacs $ cd .. $ make (If you want to install the Emacs binary, type "make install" instead of "make" in the last command.) If the above procedure fails, try "make bootstrap". Users of non-Posix systems (MS-Windows etc.) should run the platform-specific configuration scripts (nt/configure.bat, config.bat, etc.) before "make bootstrap" or "make"; the rest of the procedure is applicable to those systems as well. Note that "make bootstrap" overwrites some files that are under CVS control, such as lisp/loaddefs.el. This could produce CVS conflicts next time that you resync with the CVS. If you see such conflicts, overwrite your local copy of the file with the clean version from the CVS repository. For example: cvs update -C lisp/loaddefs.el Questions, requests, and bug reports about the CVS versions of Emacs sould be sent to emacs-pretest-bug@gnu.org rather.