Function: make-symbol
make-symbol is a function defined in alloc.c.
Signature
(make-symbol NAME)
Documentation
Return a newly allocated uninterned symbol whose name is NAME.
Its value is void, and its function definition and property list are nil.
Source Code
// Defined in /usr/src/emacs/src/alloc.c
{
Lisp_Object val;
CHECK_STRING (name);
MALLOC_BLOCK_INPUT;
if (symbol_free_list)
{
XSETSYMBOL (val, symbol_free_list);
symbol_free_list = symbol_free_list->u.s.next;
}
else
{
if (symbol_block_index == SYMBOL_BLOCK_SIZE)
{
struct symbol_block *new
= lisp_malloc (sizeof *new, false, MEM_TYPE_SYMBOL);
new->next = symbol_block;
symbol_block = new;
symbol_block_index = 0;
}
XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index]);
symbol_block_index++;
}
MALLOC_UNBLOCK_INPUT;
init_symbol (val, name);
tally_consing (sizeof (struct Lisp_Symbol));
symbols_consed++;
return val;
}