www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2011/12/05/16:26:00

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: <CAAVSQ3t4omLOEQ8dEtzR_69kS_9NZFZE6O_nmDHCsQXLomj++g@mail.gmail.com>
References: <CAAVSQ3vnFZkWdWn=LCbf+WSM0vOx9pwW+OaeTs47EdO8nfmC_w AT mail DOT gmail DOT com> <20111130211002 DOT 32B5081F6275 AT turkos DOT aspodata DOT se> <CAAVSQ3tkg3es-uBn+yFroysi5xAOtNqW5hTs2yAWQfo47rUaVQ AT mail DOT gmail DOT com> <20111203133340 DOT E09A181D541B AT turkos DOT aspodata DOT se> <CAAVSQ3tQLSsBoCjzDE+qAGrVAzCJKzocACyMOkxVBPUqyLBD7Q AT mail DOT gmail DOT com> <20111203215549 DOT 238A581D5424 AT turkos DOT aspodata DOT se> <CAAVSQ3uJh64W9wxMof1FS4swK3amYrX0eAqyS+e-nd1vOGJSQA AT mail DOT gmail DOT com> <CAAVSQ3t4omLOEQ8dEtzR_69kS_9NZFZE6O_nmDHCsQXLomj++g AT mail DOT gmail DOT com>
Comments: In-reply-to Luigi Salvatore Palese <ultrabit AT gmail DOT com>
message dated "Mon, 05 Dec 2011 00:54:35 +0100."
Mime-Version: 1.0
Message-Id: <20111205212547.84B9F81D543C@turkos.aspodata.se>
Date: Mon, 5 Dec 2011 22:25:47 +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

This is a multipart MIME message.

--==_Exmh_1323118552_29410
Content-Type: text/plain; charset="iso-8859-1"

Luigi:
> In attachment a new version of the script with my attempt to solve the
> empty folders issue... some cleanup is required but i hope this can perform
> well.

I got some lines not sorted well (see attachment, I searched for gnd.sym),
though I could correct that with:

$ diff -u local-symbols-library.scm.~1~ local-symbols-library.scm
--- local-symbols-library.scm.~1~       2011-12-05 21:34:15.000000000 +0100
+++ local-symbols-library.scm   2011-12-05 21:44:12.000000000 +0100
@@ -65,7 +65,7 @@
 
 (define component-library-add-tree
        (lambda (prefix mainfolder)
-               (display (build-path mainfolder))
+               ;(display (build-path mainfolder))
                ; Building the list of folders
                (set! mainfolder (string-trim-right (string-trim-both mainfolder char-set:whitespace) #\/))
                (ftw mainfolder build-symbols-list)
@@ -73,6 +73,6 @@
                (lambda (dir)
                        (component-library dir (string-append prefix (string-copy dir (string-length mainfolder))))
                )
-        folderlist)
+        (sort-list! folderlist string>?))
        )
 )

///

If we go for a opendir/readdir/closedir implementation instead of ftw,
maybe we should ignore all directories and files starting with ".", and
directories named "CVS". But the code is beginning to be hard to read
and understand.

Regards,
/Karl Hammar

-----------------------------------------------------------------------
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57


--==_Exmh_1323118552_29410
Content-Type: image/jpeg ; name="sort.jpg"
Content-Description: sort.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sort.jpg"

/9j/4AAQSkZJRgABAQAAAQABAAD//gBYQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwYSAgUmV2
OiAxMi8yOS85NCAoUE5HIHBhdGNoIDEuMikgIFF1YWxpdHkgPSAzNCwgU21vb3RoaW5nID0g
MAr/2wBDABgQEhUSDxgVExUaGRgcIzsmIyAgI0gzNis7VUtaWFRLUlFeaodzXmSAZVFSdqB3
gIyQl5mXW3GmsqWTsIeUl5L/2wBDARkaGiMfI0UmJkWSYVJhkpKSkpKSkpKSkpKSkpKSkpKS
kpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpL/wAARCAEHAYsDASIAAhEBAxEB/8QA
HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQID
AAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6
Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA
HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC
AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5
OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOk
paanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oA
DAMBAAIRAxEAPwDmv4hyPveldPpf+r0v/dk/lXMZ+YfMfvV0+l/6vS/92T+VUtmRLdG8vRvp
/Wm05ejfT+tNqCyS3YiEf7zf+hGpd59qpS3QtLQStFJIu4g7MfL8x5OSOKI74vdLbm1nRiu4
klCFHqcMaYF3efajefam1UF+rKzpBO0YBIkCjDY9Oc9vpQBd3n2o3n2qrNeQwojsSVdS4IGc
KBkn6f4ilguGlbDW80XGQXAwfyJ/WgCzvPtRvPtVBL4lNxjaQvIyxJGOWUcZ5OP/ANYqO3vH
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
iigAooooAKKKKACiiigAooooA//Z
--==_Exmh_1323118552_29410--


- Raw text -


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