all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: pjb@informatimago.com (Pascal J. Bourguignon)
To: help-gnu-emacs@gnu.org
Subject: Re: "push" creating circular objects
Date: Sat, 23 Aug 2008 14:17:47 +0200	[thread overview]
Message-ID: <87iqtsvsb8.fsf@hubble.informatimago.com> (raw)
In-Reply-To: umyj6l3e3.fsf@gmail.com

Charles Sebold <csebold@gmail.com> writes:

> On 21 Aug 2008, John Paul Wallington wrote:
>
>> I'm not certain what's going on.  Are you sure that representation
>> means circular structure?  Or is it merely labelling the object "ul"
>> for future reference then referring to it?  (See (elisp)Circular
>> Objects.)
>
> I am likely confused.  Is this not the same thing?
>
> Oh.  I guess it isn't.  This is one of the insights I needed, I think.
>
>> Also, how about consing up the strings with (string ?u ?l) or somesuch
>> to avoid 'em being treated as the same?
>
> I'll give that a try... yeah, that fixed it.  I'm surprised I have to do
> this, though.  Why are they being treated as the same?
>
> Knowing this, I replaced (string ?u ?l) with (copy-sequence "ul") and so
> forth, and got the same result.
>
> Thanks very much for this.  But I'm surprised I have to do it.


The syntax ##/#= is used to be able to distinguish these cases:

+-----------------------+   +-----------------------+
| (#1="ul" #1#)         |   | ("ul" "ul")           |
|                       |   |                       |
| +---+---+   +---+---+ |   | +---+---+   +---+---+ |
| | * | * |-->| * |nil| |   | | * | * |-->| * |nil| |
| +---+---+   +---+---+ |   | +---+---+   +---+---+ |
|   |           |       |   |   |           |       |
|   |  +--------+       |   |   v           v       |
|   |  |                |   | +------+    +------+  |
|   v  v                |   | | "ul" |    | "ul" |  |
| +------+              |   | +------+    +------+  |
| | "ul" |              |   +-----------------------+
| +------+              |
+-----------------------+


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"I have challenged the entire quality assurance team to a Bat-Leth
contest.  They will not concern us again."


      parent reply	other threads:[~2008-08-23 12:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-20 13:25 "push" creating circular objects Charles Sebold
2008-08-20 16:27 ` Charles Sebold
2008-08-20 19:07   ` Charles Sebold
2008-08-20 21:47     ` weber
2008-08-20 21:50     ` weber
2008-08-21 14:12       ` Charles Sebold
2008-08-21 14:25         ` xraysmalevich
2008-08-21 15:23           ` Charles Sebold
2008-08-21 18:41         ` Pascal J. Bourguignon
2008-08-21 20:25           ` Charles Sebold
2008-08-21 16:14 ` John Paul Wallington
2008-08-21 16:49   ` Charles Sebold
2008-08-23 11:43     ` Nikolaj Schumacher
2008-08-23 12:17     ` Pascal J. Bourguignon [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iqtsvsb8.fsf@hubble.informatimago.com \
    --to=pjb@informatimago.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.