www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/12/08/15:19:47

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
Date: Tue, 8 Dec 2015 15:19:24 -0500
Message-Id: <201512082019.tB8KJOlP030874@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: geda-user AT delorie DOT com
In-reply-to: <20151208205451.bb2478f8722e1a885822689d@gmail.com>
(geda-user AT delorie DOT com)
Subject: Re: [geda-user] gsch2pcb after refdes-renum? (If implemented
syncronization detail)
References: <56658683 DOT 401 AT envinsci DOT co DOT uk>
<CALT8Ef4=tMf=WmjYmp-2B3rN0SBmoqF5RkCoWZEm=+2hTBTENA AT mail DOT gmail DOT com>
<20151207153821 DOT c2ac19e6f24b1776a3595e4a AT gmail DOT com>
<CD4C755E-8E00-427D-909C-3F762A038844 AT gmail DOT com>
<20151208091411 DOT c8968b0bedb705765529176c AT gmail DOT com>
<B2F4DA99-3254-4C97-A408-854445A09C21 AT noqsi DOT com>
<201512081819 DOT tB8IJBrt022764 AT envy DOT delorie DOT com> <20151208205451 DOT bb2478f8722e1a885822689d AT gmail DOT com>
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> Changes compare schematic file with pcb file so it is done manually
> and I guess it is fine like this. For idempotent changes applying
> them more than once make no difference.

What we have now breaks down in a simple case.  Consider: we want to
rename U1, U2, and U3 to be U2, U3, and U1 (note the cyclic
dependency).  ExecuteScript() would have something like this:

Rename(U1,U2)
Rename(U2,U3)
Rename(U3,U1)

There is no "correct" order to do these in, but even if the script is
smart enough to use a temporary name for one of the symbols, or pcb
was smart enough to know old vs new names, running the script twice
would "rotate" the names again.

Hence, my position that something other than refdes is needed to
identify "this symbol" or "that gate".  Tracking the lifetime of a
symbol so you can refer to "the one I used back when" is the trick
part I was asking about.

If we really want to cleanly support simple operations like "rename a
part" we need to change gaf's dependency on the name identifying "the
part", and start treating the refdes like any other generic attribute.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019