User Tools


Differences

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

Link to this comparison view

cl:variables:star-print-escape-star [2017/05/01 21:00] (current)
Line 1: Line 1:
 +====== Variable *PRINT-ESCAPE* ======
 +
 +====Value Type====
 +a //​[[CL:​Glossary:​generalized boolean]]//​.
 +
 +====Initial Value====
 +//​[[CL:​Glossary:​true]]//​.
 +
 +====Description====
 +If //​[[CL:​Glossary:​false]]//,​ escape characters and //​[[CL:​Glossary:​package prefixes]]//​ are not output when an expression is printed.
 +
 +If //​[[CL:​Glossary:​true]]//,​ an attempt is made to print an //​[[CL:​Glossary:​expression]]//​ in such a way that it can be read again to produce an **[[CL:​Functions:​equal]]** //​[[CL:​Glossary:​expression]]//​. (This is only a guideline; not a requirement. See **[[CL:​Variables:​star-print-readably-star|*print-readably*]]**.)
 +
 +For more specific details of how the //​[[CL:​Glossary:​value]]//​ of **<​nowiki>​*print-escape*</​nowiki>​** affects the printing of certain //​[[CL:​Glossary:​types]]//,​ see section {\secref\DefaultPrintObjMeths}.
 +
 +====Examples==== ​
 +<​blockquote> ​
 +(let ((*print-escape* t)) 
 +  (write #\\a))
 +<​o>#​\\a </o>
 +<​r>#​\\a </r>
 +(let ((*print-escape* nil)) 
 +  (write #\\a))
 +<o>a </o>
 +<​r>#​\\a </r>
 +</​blockquote>​
 +
 +====Affected By====
 +**[[CL:​Functions:​princ]]**,​ **[[CL:​Functions:​prin1]]**,​ **[[CL:​Functions:​format]]**
 +
 +====See Also====
 +  * **[[CL:​Functions:​write|Function WRITE]]**
 +  * **[[CL:​Functions:​readtable-case|Function READTABLE-CASE]]**
 +
 +====Notes====
 +**[[CL:​Functions:​princ]]** effectively binds **<​nowiki>​*print-escape*</​nowiki>​** to //​[[CL:​Glossary:​false]]//​. **[[CL:​Functions:​prin1]]** effectively binds **<​nowiki>​*print-escape*</​nowiki>​** to //​[[CL:​Glossary:​true]]//​.
 +
 +