X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Mailer: exmh version 2.7.2 01/07/2005 (debian 1:2.7.2-18) with nmh-1.3 X-Exmh-Isig-CompType: repl X-Exmh-Isig-Folder: inbox To: geda-user AT delorie DOT com Subject: Re: [geda-user] Dynamic loading personal components (with subfolder) into the search component tree of gschem In-reply-to: References: <20111130211002 DOT 32B5081F6275 AT turkos DOT aspodata DOT se> <20111203133340 DOT E09A181D541B AT turkos DOT aspodata DOT se> Comments: In-reply-to Luigi Salvatore Palese message dated "Sat, 03 Dec 2011 21:10:56 +0100." Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_1322948109_29410" Message-Id: <20111203215549.238A581D5424@turkos.aspodata.se> Date: Sat, 3 Dec 2011 22:55:48 +0100 (CET) From: karl AT aspodata DOT se (Karl Hammar) X-Virus-Scanned: ClamAV using ClamSMTP 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 This is a multipart MIME message. --==_Exmh_1322948109_29410 Content-Type: text/plain; charset="iso-8859-1" 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 ? ... > > "personal/Generic capacitors" > > "personal/Generic capacitors/AVX Capacitors" > > > > > The version in attachment builds description in that way. > Now the first parameter is a prefix which adds to the folders. > The second parameter is the main folder and will be excluded from the > description string. > > so as example a line such: > (component-library-add-tree "cvs" (build-path (getenv "HOME") "/Net/cvs/ > cvs.gedasymbols.org/www/user")) > > will produce as result: > cvs/Capacitors > cvs/Capacitors/AVX > ... Your script works fine, except that there can be a lot of directories without .sym files, see attachment to see what can happen. BTW, wouldn't it be easier to write 'directory instead of (string->symbol "directory") ? Your script is much faster than mine [2], how could I speed it up? Regards, /Karl Hammar [1] http://archives.seul.org/geda/user/May-2011/msg00556.html [2] http://www.delorie.com/archives/browse.cgi?p=geda-user/2011/12/03/15:41:27 ----------------------------------------------------------------------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 --==_Exmh_1322948109_29410 Content-Type: image/jpeg ; name="lib_browser.jpg" Content-Description: lib_browser.jpg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lib_browser.jpg" /9j/4AAQSkZJRgABAQAAAQABAAD//gBYQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwYSAgUmV2 OiAxMi8yOS85NCAoUE5HIHBhdGNoIDEuMikgIFF1YWxpdHkgPSAzMywgU21vb3RoaW5nID0g MAr/2wBDABgREhUSDxgVFBUbGhgdJDwnJCEhJEo1OCw8WE1cW1ZNVVNhbYt2YWeDaFNVeaV6 g4+UnJ2cXnSrt6mXtYuZnJX/2wBDARobGyQgJEcnJ0eVZFVklZWVlZWVlZWVlZWVlZWVlZWV lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZX/wAARCACrANQDASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5 OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOk paanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oA DAMBAAIRAxEAPwDmT/FyvX0pf4jyPvelISPm57/3RS5G4/73pQBp6H9285B/cN0FdVZ/8eUH /XNf5VyuhnK3n/XBu2K6qz/48oP+ua/yqnsiF8TLD/fb60Q/8fI/3D/MUP8Afb60Q/8AHyP9 w/zFQWWqKKKYFSVppr028cxhVIw5ZVBLEkjHIIwMfrUcl1LaNcLK3mMIw8XGNx+6R/31j/vq rM9rDcFWkVty8BlcqcemQQcUPZwSGEtGD5P+r5PHT/AflQBRlkuoHP2i4mjRFXEqRKyHgZLc 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 --==_Exmh_1322948109_29410--