Variable: print-number-table
print-number-table is a variable defined in print.c.
Value
nil
Documentation
A vector used internally to produce #N= labels and #N# references.
The Lisp printer uses this vector to detect Lisp objects referenced more than once. If an entry contains a number, then the corresponding key is referenced more than once: a positive sign indicates that it's already been printed, and the absolute value indicates the number to use when printing. If an entry contains a string, that string is printed instead.
When you bind print-continuous-numbering to t, you should probably
also bind print-number-table to nil. This ensures that the value of
print-number-table can be garbage-collected once the printing is
done. If all elements of print-number-table are nil, it means that
the printing done so far has not found any shared structure or objects
that need to be recorded in the table.
Probably introduced at or before Emacs version 22.1.
Source Code
// Defined in /usr/src/emacs/src/print.c
DEFVAR_LISP ("print-number-table", Vprint_number_table,
doc: /* A vector used internally to produce `#N=' labels and `#N#' references.
The Lisp printer uses this vector to detect Lisp objects referenced more
than once. If an entry contains a number, then the corresponding key is
referenced more than once: a positive sign indicates that it's already been
printed, and the absolute value indicates the number to use when printing.
If an entry contains a string, that string is printed instead.
When you bind `print-continuous-numbering' to t, you should probably
also bind `print-number-table' to nil. This ensures that the value of
`print-number-table' can be garbage-collected once the printing is
done. If all elements of `print-number-table' are nil, it means that
the printing done so far has not found any shared structure or objects
that need to be recorded in the table. */);