pprint-pop
<no arguments> => object
object---an element of the list being printed in the lexically current logical block, or nil.
Pops one element from the list being printed in the lexically current logical block, obeying *print-length* and *print-circle* as described below.
Each time pprint-pop is called, it pops the next value off the list passed to the lexically current logical block and returns it. However, before doing this, it performs three tests:
If either of the three conditions above occurs, the indicated output is printed on the pretty printing stream created by the immediately containing pprint-logical-block and the execution of the immediately containing pprint-logical-block is terminated except for the printing of the suffix.
If pprint-logical-block is given a `list' argument of nil---because it is not processing a list---pprint-pop can still be used to obtain support for *print-length*. In this situation, the first and third tests above are disabled and pprint-pop always returns nil. See section Examples of using the Pretty Printer---specifically, the pprint-vector example.
Whether or not pprint-pop is fbound in the global environment is implementation-dependent; however, the restrictions on redefinition and shadowing of pprint-pop are the same as for symbols in the COMMON-LISP package which are fbound in the global environment. The consequences of attempting to use pprint-pop outside of pprint-logical-block are undefined.
Might cause output to the pretty printing stream associated with the lexically current logical block.
*print-length*, *print-circle*.
An error is signaled (either at macro expansion time or at run time) if a usage of pprint-pop occurs where there is no lexically containing pprint-logical-block form.
The consequences are undefined if pprint-pop is executed outside of the dynamic extent of this pprint-logical-block.
section pprint-exit-if-list-exhausted [Local Macro] , section pprint-logical-block [Macro] .
It is frequently a good idea to call pprint-exit-if-list-exhausted before calling pprint-pop.
Go to the first, previous, next, last section, table of contents.