X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=ofuTNpA8jcBSo7+T4bmu9beCPPRnDhpU03LdyYXYgHc=; b=qcWVJLZ06K4sXUx5+vd4axgCus4+WGteD/TESB0qmaPSklY2390AvgPEV5O/rjkqQ6 AZownzMfNtS0Z3MEovRJsPepmnL/e0marsJZgLOwRbMcUaSuEYc1BYGpHCP8Gg/+TfqF TdMTgjxouVzoKvWVLWugIjC5M0ubPda5HT2ao= MIME-Version: 1.0 In-Reply-To: References: <20111130211002 DOT 32B5081F6275 AT turkos DOT aspodata DOT se> <20111203133340 DOT E09A181D541B AT turkos DOT aspodata DOT se> <20111203215549 DOT 238A581D5424 AT turkos DOT aspodata DOT se> Date: Mon, 5 Dec 2011 21:42:16 +0100 Message-ID: Subject: Re: [geda-user] Dynamic loading personal components (with subfolder) into the search component tree of gschem From: Luigi Salvatore Palese To: geda-user AT delorie DOT com Content-Type: multipart/mixed; boundary=0016e65dabb4b3e23804b35e5ab5 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 Precedence: bulk --0016e65dabb4b3e23804b35e5ab5 Content-Type: multipart/alternative; boundary=0016e65dabb4b3e23204b35e5ab3 --0016e65dabb4b3e23204b35e5ab3 Content-Type: text/plain; charset=ISO-8859-1 On Sun, Dec 4, 2011 at 11:19 PM, Luigi Salvatore Palese wrote: > > > On Sat, Dec 3, 2011 at 10:55 PM, Karl Hammar wrote: > >> Luigi: >> > On Sat, Dec 3, 2011 at 2:33 PM, Karl Hammar wrote: >> ... >> > To manage $HOME substitution you need getenv: >> > (component-library-add-tree "cvs" (build-path (getenv "HOME") >> "/Net/cvs/ >> > cvs.gedasymbols.org/www/user")) >> >> Hmm, my c version [1] got that for free. How should I do to take a >> string and substitute all $VAR's, it's annoying to do that manually >> in the gafrc file ? >> > > libgeda already has s_expand_env_variables() method to do this, but is not > exported to scm (as i can see). > Before start writing new code someone could ask to developers if is it > possible to export it for use in guile. > gEDA developer Peter Brett, thanks again, explain me the better solution is to write code directly in scheme instead of export (because of a lot of maintenance/testing requirements). So a feature request on the Launchpad bug tracker needs to be opened... In attachment an improved version of the script. Regards, Luigi --0016e65dabb4b3e23204b35e5ab3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Sun, Dec 4, 2011 at 11:19 PM, Luigi S= alvatore Palese <ultrabit AT gmail DOT com> wrote:


On Sat, Dec 3, 2011 at 10:55 PM, Ka= rl Hammar <karl AT aspodata DOT se> wrote:
Luigi:
> On Sat, Dec 3, 2011 at 2:33 PM, Karl Hammar <karl AT aspodata DOT se> wrote:
...
> To manage $HOME substitution you need getenv:
> =A0 (component-library-add-tree "cvs" (build-path (getenv &q= uot;HOME") "/Net/cvs/
> cvs.= gedasymbols.org/www/user"))

Hmm, my c version [1] got that for free. How should I do to take a string and substitute all $VAR's, it's annoying to do that manually=
in the gafrc file ?

libgeda already has s_ex= pand_env_variables() method to do this, but is not exported to scm (as i ca= n see).
Before start writing new code someone could ask to developers i= f is it possible to export it for use in guile.

gEDA developer Peter Brett, thanks again,= explain me the better solution is to write code directly in scheme instead= of export (because of a lot of maintenance/testing requirements).
So a feature request on the Launchpad bug tracker needs to be opened...

In attachment an improved version of the script.

Regards,
Luigi
--0016e65dabb4b3e23204b35e5ab3-- --0016e65dabb4b3e23804b35e5ab5 Content-Type: text/x-scheme; charset=US-ASCII; name="local-symbols-library.scm" Content-Disposition: attachment; filename="local-symbols-library.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gvty48h60 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0qLVNjaGVtZS0qLQo7ICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CjsgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOyAgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgo7ICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCjsKOyAgICBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKOyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo7ICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKOyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo7CjsgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKOyAgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KOwo7IFRo aXMgY29kZSBpcyBiYXNlZCBvbiB0aGUgc291cmNlIGJ5IFBldGVyIEJUIEJyZXR0IGFuZCBLYXJs IEhhbW1hci4gCjsKOyBDb3B5cmlnaHQgKEMpIDIwMTEgIEwuUy5QLiA8dWx0cmFiaXRAZ21haWwu Y29tPgo7CjsgY2hhbmdlbG9nIDEyLzA1LzIwMTE6CjsJKiBzb3J0aW5nIGZvbGRlcmxpc3QgYmVm b3JlIGFkZGluZyB0cmVlCjsJKiB1c2luZyBzdHJpbmctc3VmZml4LWNpIGluc3RlYWQgb2YgcmVn ZXggaW4gdGhlIGlzLXRoZXJlLWFueS1zeW1ib2xzLWluPyBwcm9jZWR1cmUKOwo7IGNoYW5nZWxv ZyAxMi8wNC8yMDExOgo7CSogYWRkZWQgKGlzLXRoZXJlLWFueS1zeW1ib2xzLWluPyBkaXIpIHBy b2NlZHVyZSB0byBjaGVjayBpZiBhIGZvbGRlciBjb250YWlucyBhbnkgc3ltYm9sIGZpbGUuCjsK OyBjaGFuZ2Vsb2cgMTIvMDIvMjAxMToKOwkqIHN0YXJ0aW5nIHZlcnNpb24gCjsKOyBUb2RvIDoK OwkqIEltcGxlbWVudCBlbnZpcm9ubWVudCB2YXJzIHN1YnN0aXR1dGlvbgo7CSogQ29kZSBjbGVh bnVwIGFuZCBvcHRpbWl6YXRpb24KCih1c2UtbW9kdWxlcyAoaWNlLTkgZnR3KSkKKGRlZmluZSBm b2xkZXJsaXN0ICcoKSkKCjsKOyBDaGVja2luZyBmb3Igc3ltYm9scyBpbiBmb2xkZXIuLi4gCjsg cmV0dXJuOgo7CXRydWUgCS0gaWYgYXQgbGVhc3Qgb25lIHN5bWJvbCBmaWxlIGlzIHByZXNlbnQK OwlmYWxzZSAJLSBpbiBvdGhlciBjYXNlCjsKKGRlZmluZSAoaXMtdGhlcmUtYW55LXN5bWJvbHMt aW4/IGRpcikKICAobGV0ICgoZGlyLXN0cmVhbSAob3BlbmRpciBkaXIpKSkKICAgIChsZXQgbG9v cCAoKG5ldyAocmVhZGRpciBkaXItc3RyZWFtKSkKICAgICAgICAgICAgICAgKGFjYyAnKCkpKQkK ICAgICAgKGlmIChlb2Ytb2JqZWN0PyBuZXcpCgkgIChiZWdpbgoJICAgIChjbG9zZWRpciBkaXIt c3RyZWFtKQoJICAgICNmKQoJICAobGV0ICgoc3RhdC1vYmogKHN0YXQgKHN0cmluZy1hcHBlbmQg ZGlyICIvIiBuZXcpKSkpCgkgICAgKGlmIChlcT8gJ3JlZ3VsYXIgKHN0YXQ6dHlwZSBzdGF0LW9i aikpCgkJKGlmIChzdHJpbmctc3VmZml4LWNpPyAiLnN5bSIgbmV3KQoJCSAgICAoYmVnaW4KCQkg ICAgICAoY2xvc2VkaXIgZGlyLXN0cmVhbSkKCQkgICAgICAjdCkKCQkgICAgKGxvb3AgKHJlYWRk aXIgZGlyLXN0cmVhbSkKCQkJICAoaWYgKG9yIChzdHJpbmc9PyAiLiIgIG5ldykgICAgICAgICAg ICAgOzs7IGlnbm9yZQoJCQkJICAoc3RyaW5nPT8gIi4uIiBuZXcpKSAgICAgICAgICAgIDs7OyBp Z25vcmUKCQkJICAgICAgYWNjCgkJCSAgICAgIChjb25zIG5ldyBhY2MpKSkpCgkJKGxvb3AgKHJl YWRkaXIgZGlyLXN0cmVhbSkKCQkgICAgICAoaWYgKG9yIChzdHJpbmc9PyAiLiIgIG5ldykgICAg ICAgICAgICAgOzs7IGlnbm9yZQoJCQkgICAgICAoc3RyaW5nPT8gIi4uIiBuZXcpKSAgICAgICAg ICAgIDs7OyBpZ25vcmUKCQkJICBhY2MKCQkJICAoY29ucyBuZXcgYWNjKSkpKSkpKSkpCjsKOyBC dWlsZHMgYSBsaXN0IG9mIG9ubHkgZm9sZGVycyBjb250YWluaW5nIHN5bWJvbCBmaWxlcy4KOwoo ZGVmaW5lIGJ1aWxkLXN5bWJvbHMtbGlzdAogIChsYW1iZGEgIChmaWxlbmFtZSBzdGF0aW5mbyBm bGFncykKICAgIChpZiAoZXE/ICdkaXJlY3RvcnkgZmxhZ3MpCgkoaWYgKGlzLXRoZXJlLWFueS1z eW1ib2xzLWluPyBmaWxlbmFtZSkKCSAgICAoYmVnaW4gIAoJICAgICAgKHNldCEgZm9sZGVybGlz dCAgCgkJICAgIChhcHBlbmQgZm9sZGVybGlzdAoJCQkgICAgKGxpc3QgZmlsZW5hbWUgKSkpKQoJ ICAgICkpCiAgICAjdCkKKQoKOwo7IAo7CihkZWZpbmUgY29tcG9uZW50LWxpYnJhcnktYWRkLXRy ZWUKCShsYW1iZGEgKHByZWZpeCBtYWluZm9sZGVyKQoJCTsgQnVpbGRpbmcgdGhlIGxpc3Qgb2Yg Zm9sZGVycwoJCShzZXQhIG1haW5mb2xkZXIgKHN0cmluZy10cmltLXJpZ2h0IChzdHJpbmctdHJp bS1ib3RoIG1haW5mb2xkZXIgY2hhci1zZXQ6d2hpdGVzcGFjZSkgI1wvKSkKICAgICAgICAJKGZ0 dyBtYWluZm9sZGVyIGJ1aWxkLXN5bWJvbHMtbGlzdCkKCShmb3ItZWFjaAoJCShsYW1iZGEgKGRp cikKCQkJKGNvbXBvbmVudC1saWJyYXJ5IGRpciAoc3RyaW5nLWFwcGVuZCBwcmVmaXggKHN0cmlu Zy1jb3B5IGRpciAoc3RyaW5nLWxlbmd0aCBtYWluZm9sZGVyKSkpKQoJCSkKCSAoc29ydC1saXN0 ISBmb2xkZXJsaXN0IHN0cmluZz4/KSkKCSkKKQoK --0016e65dabb4b3e23804b35e5ab5--