User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:variables:star-print-lines-star [2017/05/01 21:00] (current)
Line 1: Line 1:
 +====== Variable *PRINT-LINES* ======
 +
 +====Value Type====
 +a non-negative //​[[CL:​Glossary:​integer]]//,​ or **[[CL:​Constant Variables:​nil]]**.
 +
 +====Initial Value====
 +**[[CL:​Constant Variables:​nil]]**.
 +
 +====Description====
 +When the //​[[CL:​Glossary:​value]]//​ of **[[CL:​Variables:​star-print-lines-star|*print-lines*]]** is other than **[[CL:​Constant Variables:​nil]]**,​ it is a limit on the number of output lines produced when something is pretty printed. If an attempt is made to go beyond that many lines, ''​..''​ is printed at the end of the last line followed by all of the suffixes (closing delimiters) that are pending to be printed.
 +
 +====Examples====
 +<​blockquote> ​
 +([[CL:​Special Operators:​let]] (([[CL:​Variables:​star-print-right-margin-star|*print-right-margin*]] 25) 
 +      (*print-lines* 3)) 
 +  ([[CL:​Functions:​pprint]] '​([[CL:​Special Operators:​progn]] ([[CL:​Macros:​setf]] a 1 b 2 c 3 d 4))))
 +<​o>​([[CL:​Special Operators:​PROGN]] ([[CL:​Macros:​SETF]] A 1
 +             B 2
 +             C 3 ..)) </o>
 +<​r>//<​no values>//</​r>​
 +</​blockquote>​
 +
 +====See Also====
 +None.
 +
 +====Notes====
 +The ''​..''​ notation is intentionally different than the ''​...''​ notation used for level abbreviation,​ so that the two different situations can be visually distinguished.
 +
 +This notation is used to increase the likelihood that the //​[[CL:​Glossary:​Lisp reader]]// will signal an error if an attempt is later made to read the abbreviated output. Note however that if the truncation occurs in a //​[[CL:​Glossary:​string]]//,​ as in ''​This string has been trunc..'',​ the problem situation cannot be detected later and no such error will be signaled.
 +