mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-04 04:52:10 -08:00
* src/lisp.h (struct vectorlike_header): New field `nbytes', adjust comment accordingly. * src/alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' to denote vector blocks. Adjust users (live_vector_p, mark_maybe_pointer, valid_lisp_object_p) accordingly. (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES), (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX), (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST), (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros. (roundup_size): New constant. (struct vector_block): New data type. (vector_blocks, vector_free_lists, zero_vector): New variables. (all_vectors): Renamed to `large_vectors'. (allocate_vector_from_block, init_vectors, allocate_vector_from_block) (sweep_vectors): New functions. (allocate_vectorlike): Return `zero_vector' as the only vector of 0 items. Allocate new vector from block if vector size is less than or equal to VBLOCK_BYTES_MAX. (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. (init_alloc_once): Add call to init_vectors. * doc/lispref/internals.text (Garbage Collection): Document new vector management code and vectorlike_header structure. |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| abbrevs.texi | ||
| advice.texi | ||
| anti.texi | ||
| back.texi | ||
| backups.texi | ||
| book-spine.texi | ||
| buffers.texi | ||
| ChangeLog | ||
| commands.texi | ||
| compile.texi | ||
| control.texi | ||
| customize.texi | ||
| debugging.texi | ||
| display.texi | ||
| doclicense.texi | ||
| edebug.texi | ||
| elisp.texi | ||
| errors.texi | ||
| eval.texi | ||
| files.texi | ||
| frames.texi | ||
| functions.texi | ||
| gpl.texi | ||
| hash.texi | ||
| help.texi | ||
| hooks.texi | ||
| index.texi | ||
| internals.texi | ||
| intro.texi | ||
| keymaps.texi | ||
| lay-flat.texi | ||
| lists.texi | ||
| loading.texi | ||
| macros.texi | ||
| Makefile.in | ||
| makefile.w32-in | ||
| maps.texi | ||
| markers.texi | ||
| minibuf.texi | ||
| modes.texi | ||
| nonascii.texi | ||
| numbers.texi | ||
| objects.texi | ||
| os.texi | ||
| package.texi | ||
| positions.texi | ||
| processes.texi | ||
| README | ||
| searching.texi | ||
| sequences.texi | ||
| spellfile | ||
| streams.texi | ||
| strings.texi | ||
| symbols.texi | ||
| syntax.texi | ||
| text.texi | ||
| tips.texi | ||
| two-volume-cross-refs.txt | ||
| two-volume.make | ||
| variables.texi | ||
| windows.texi | ||
Copyright (C) 2001-2012 Free Software Foundation, Inc. -*- outline -*-
See the end of the file for license conditions.
README for the Emacs Lisp Reference Manual.
* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.
* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.
* The Emacs Lisp Reference Manual is quite large. It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.
* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.
* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work. See <http://shop.fsf.org/>.
(At time of writing, this manual is out of print.)
* The master file for formatting this manual for Tex is called `elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.
* This distribution contains a Makefile that you can use with GNU Make.
** To make an Info file, you need to install Texinfo, then run `make info'.
** Use `make elisp.pdf' or `make elisp.html' to create PDF or HTML versions.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.