deuce.emacs.alloc
cons
(cons car cdr)
Create a new cons, give it CAR and CDR as components, and return it.
garbage-collect
(garbage-collect)
Reclaim storage for Lisp objects no longer needed.
Garbage collection happens automatically if you cons more than
`gc-cons-threshold' bytes of Lisp data since previous garbage collection.
`garbage-collect' normally returns a list with info on amount of space in use:
((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS)
(USED-MISCS . FREE-MISCS) USED-STRING-CHARS USED-VECTOR-SLOTS
(USED-FLOATS . FREE-FLOATS) (USED-INTERVALS . FREE-INTERVALS)
(USED-STRINGS . FREE-STRINGS))
However, if there was overflow in pure space, `garbage-collect'
returns nil, because real GC can't be done.
See Info node `(elisp)Garbage Collection'.
list
(list & objects)
Return a newly created list with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.
make-bool-vector
(make-bool-vector length init)
Return a new bool-vector of length LENGTH, using INIT for each element.
LENGTH must be a number. INIT matters only in whether it is t or nil.
make-byte-code
(make-byte-code arglist byte-code constants depth & [docstring interactive-spec & elements])
Create a byte-code object with specified arguments as elements.
The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant
vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING,
and (optional) INTERACTIVE-SPEC.
The first four arguments are required; at most six have any
significance.
The ARGLIST can be either like the one of `lambda', in which case the arguments
will be dynamically bound before executing the byte code, or it can be an
integer of the form NNNNNNNRMMMMMMM where the 7bit MMMMMMM specifies the
minimum number of arguments, the 7-bit NNNNNNN specifies the maximum number
of arguments (ignoring &rest) and the R bit specifies whether there is a &rest
argument to catch the left-over arguments. If such an integer is used, the
arguments will not be dynamically bound but will be instead pushed on the
stack before executing the byte-code.
make-list
(make-list length init)
Return a newly created list of length LENGTH, with each element being INIT.
make-marker
(make-marker)
Return a newly allocated marker which does not point at any place.
make-string
(make-string length init)
Return a newly created string of length LENGTH, with INIT in each element.
LENGTH must be an integer.
INIT must be an integer that represents a character.
make-symbol
(make-symbol name)
Return a newly allocated uninterned symbol whose name is NAME.
Its value and function definition are void, and its property list is nil.
make-vector
(make-vector length init)
Return a newly created vector of length LENGTH, with each element being INIT.
See also the function `vector'.
memory-limit
(memory-limit)
Return the address of the last byte Emacs has allocated, divided by 1024.
This may be helpful in debugging Emacs's memory usage.
We divide the value by 1024 to make sure it fits in a Lisp integer.
memory-use-counts
(memory-use-counts)
Return a list of counters that measure how much consing there has been.
Each of these counters increments for a certain kind of object.
The counters wrap around from the largest positive integer to zero.
Garbage collection does not decrease them.
The elements of the value are as follows:
(CONSES FLOATS VECTOR-CELLS SYMBOLS STRING-CHARS MISCS INTERVALS STRINGS)
All are in units of 1 = one object consed
except for VECTOR-CELLS and STRING-CHARS, which count the total length of
objects consed.
MISCS include overlays, markers, and some internal types.
Frames, windows, buffers, and subprocesses count as vectors
(but the contents of a buffer's text do not count here).
purecopy
(purecopy obj)
Make a copy of object OBJ in pure storage.
Recursively copies contents of vectors and cons cells.
Does not copy symbols. Copies strings without text properties.
SLASH=
(SLASH= num1 num2)
Return t if first arg is not equal to second arg. Both must be numbers or markers.
string
(string & characters)
Concatenate all the argument characters and make the result a string.
vector
(vector & objects)
Return a newly created vector with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.