diff options
| author | Craig Jennings <c@cjennings.net> | 2025-08-14 22:58:58 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-08-14 22:58:58 -0500 |
| commit | 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 (patch) | |
| tree | 158cfc17b2f644a10f063cb546752cfaae12c97f /devdocs/elisp/circular-objects.html | |
| parent | 9278ddd4ea1a8b1a4c1edaa8894516e3f48d245b (diff) | |
| download | dotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.tar.gz dotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.zip | |
removing all downloaded devdocs files
Diffstat (limited to 'devdocs/elisp/circular-objects.html')
| -rw-r--r-- | devdocs/elisp/circular-objects.html | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/devdocs/elisp/circular-objects.html b/devdocs/elisp/circular-objects.html deleted file mode 100644 index 797d97b1..00000000 --- a/devdocs/elisp/circular-objects.html +++ /dev/null @@ -1,25 +0,0 @@ - <h3 class="section">Read Syntax for Circular Objects</h3> <p>To represent shared or circular structures within a complex of Lisp objects, you can use the reader constructs ‘<samp>#<var>n</var>=</samp>’ and ‘<samp>#<var>n</var>#</samp>’. </p> <p>Use <code>#<var>n</var>=</code> before an object to label it for later reference; subsequently, you can use <code>#<var>n</var>#</code> to refer the same object in another place. Here, <var>n</var> is some integer. For example, here is how to make a list in which the first element recurs as the third element: </p> <div class="example"> <pre class="example">(#1=(a) b #1#) -</pre> -</div> <p>This differs from ordinary syntax such as this </p> <div class="example"> <pre class="example">((a) b (a)) -</pre> -</div> <p>which would result in a list whose first and third elements look alike but are not the same Lisp object. This shows the difference: </p> <div class="example"> <pre class="example">(prog1 nil - (setq x '(#1=(a) b #1#))) -(eq (nth 0 x) (nth 2 x)) - ⇒ t -(setq x '((a) b (a))) -(eq (nth 0 x) (nth 2 x)) - ⇒ nil -</pre> -</div> <p>You can also use the same syntax to make a circular structure, which appears as an element within itself. Here is an example: </p> <div class="example"> <pre class="example">#1=(a #1#) -</pre> -</div> <p>This makes a list whose second element is the list itself. Here’s how you can see that it really works: </p> <div class="example"> <pre class="example">(prog1 nil - (setq x '#1=(a #1#))) -(eq x (cadr x)) - ⇒ t -</pre> -</div> <p>The Lisp printer can produce this syntax to record circular and shared structure in a Lisp object, if you bind the variable <code>print-circle</code> to a non-<code>nil</code> value. See <a href="output-variables">Output Variables</a>. </p><div class="_attribution"> - <p class="_attribution-p"> - Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br> - <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Circular-Objects.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Circular-Objects.html</a> - </p> -</div> |
