* variables.texi (File Local Variables): Note that read-circle is
authorChong Yidong <cyd@stupidchicken.com>
Wed, 29 Apr 2009 03:13:16 +0000 (03:13 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Wed, 29 Apr 2009 03:13:16 +0000 (03:13 +0000)
bound to nil when reading file-local variables.

* streams.texi (Input Functions): Document read-circle.
(Output Variables): Add xref to Circular Objects.

doc/lispref/ChangeLog
doc/lispref/streams.texi
doc/lispref/variables.texi

index ff37666..5dda8f5 100644 (file)
@@ -1,3 +1,11 @@
+2009-04-29  Chong Yidong  <cyd@stupidchicken.com>
+
+       * variables.texi (File Local Variables): Note that read-circle is
+       bound to nil when reading file-local variables.
+
+       * streams.texi (Input Functions): Document read-circle.
+       (Output Variables): Add xref to Circular Objects.
+
 2009-04-25  Chong Yidong  <cyd@stupidchicken.com>
 
        * tips.texi (Coding Conventions): Copyedits.  Add xref to Named
index b350c53..df19cbe 100644 (file)
@@ -341,6 +341,12 @@ This variable holds the default input stream---the stream that
 The default is @code{t}, meaning use the minibuffer.
 @end defvar
 
+@defvar read-circle
+If non-@code{nil}, this variable enables the reading of circular and
+shared structures.  @xref{Circular Objects}.  Its default value is
+@code{t}.
+@end defvar
+
 @node Output Streams
 @section Output Streams
 @cindex stream (for printing)
@@ -794,8 +800,8 @@ Emacs-Lisp Expressions, emacs, The GNU Emacs Manual}).
 and shared structure:
 
 @defvar print-circle
-If non-@code{nil}, this variable enables detection of circular
-and shared structure in printing.
+If non-@code{nil}, this variable enables detection of circular and
+shared structure in printing.  @xref{Circular Objects}
 @end defvar
 
 @defvar print-gensym
index 2f97c8c..75f0b18 100644 (file)
@@ -1539,6 +1539,11 @@ your Emacs.  Emacs protects against this by automatically setting only
 those file-local variables whose specified values are known to be
 safe.  Other file-local variables are set only if the user agrees.
 
+  For additional safety, @code{read-circle} is temporarily bound to
+@code{nil} when Emacs reads file-local variables (@pxref{Input
+Functions}).  This prevents the Lisp reader from recognizing circular
+and shared Lisp structures (@pxref{Circular Objects}).
+
 @defopt enable-local-variables
 This variable controls whether to process file-local variables.
 The possible values are: