mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-15 09:47:20 +00:00
f3372c8789
* 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/>.