[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
If an expression in your program produces a value containing circular list structure, you may get an error when Edebug attempts to print it.
One way to cope with circular structure is to set print-length
or
print-level
to truncate the printing. Edebug does this for you; it
binds print-length
and print-level
to 50 if they were
nil
. (Actually, the variables edebug-print-length
and
edebug-print-level
specify the values to use within Edebug.)
Voir la section Variables Affecting Output.
If non-nil
, Edebug binds print-length
to this value while
printing results. The default value is 50
.
If non-nil
, Edebug binds print-level
to this value while
printing results. The default value is 50
.
You can also print circular structures and structures that share elements
more informatively by binding print-circle
to a non-nil
value.
Here is an example of code that creates a circular structure:
(setq a '(x y)) (setcar a a) |
Custom printing prints this as ‘Result: #1=(#1# y)’. The ‘#1=’ notation labels the structure that follows it with the label ‘1’, and the ‘#1#’ notation references the previously labeled structure. This notation is used for any shared elements of lists or vectors.
If non-nil
, Edebug binds print-circle
to this value while
printing results. The default value is t
.
Other programs can also use custom printing; see ‘cust-print.el’ for details.
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.