diff --git a/Makefile b/Makefile index 6c39ce4..3d01976 100644 --- a/Makefile +++ b/Makefile @@ -218,7 +218,8 @@ member-fees.so: member-fees.o member-fees.o: member-fees.import.scm member-fees.import.scm: $(MEMBER-FEES-SOURCES) -MEMBERS-DIR-SOURCES=members-dir.scm +MEMBERS-DIR-SOURCES=members-dir.scm testing.import.scm \ + dictionary.import.scm utils.import.scm members-dir.so: members-dir.o members-dir.o: members-dir.import.scm diff --git a/bbstool.scm b/bbstool.scm index 82c2330..8b4f681 100644 --- a/bbstool.scm +++ b/bbstool.scm @@ -41,7 +41,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. cards member-print member-parser - member-fees) + member-fees + members-dir) ;; Print banner (print "bbstool 0.5 (c) 2023 Brmlab, z.s.") @@ -100,7 +101,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. (utils-tests!) (ansi-tests!) (command-line-tests!) - (members-base-tests!) + (members-dir-tests!) (primes-tests!) (member-record-tests!) (member-parser-tests!) diff --git a/members-base.scm b/members-base.scm index 697a07d..f08612a 100644 --- a/members-base.scm +++ b/members-base.scm @@ -41,16 +41,11 @@ get-free-members-ids print-members-ids-stats gen-member-id - members-base-tests! ) (import scheme (chicken base) (chicken pathname) - (chicken file posix) - (chicken file) - (chicken format) - (chicken irregex) (chicken sort) (chicken string) (chicken format) @@ -87,7 +82,7 @@ (car opts)))) (with-progress progress? "Loading-members " " ok." - (let* ((fss (get-files+symlinks-dictionary dn)) + (let* ((fss (load-members-dir dn)) (mb0 (dict-map (lambda (symfn symlinks) (when progress? diff --git a/members-dir.scm b/members-dir.scm index a59f7f9..e59ee9b 100644 --- a/members-dir.scm +++ b/members-dir.scm @@ -23,16 +23,25 @@ ;; CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ;; -(declare (unit members-base)) +(declare (unit members-dir)) (module members-dir ( load-members-dir - members-dir-tests + members-dir-tests! ) - (import scheme) + (import scheme + (chicken base) + (chicken pathname) + (chicken file posix) + (chicken file) + (chicken format) + (chicken irregex) + testing + dictionary + utils) ;; Gets all files and symbolic links from given directory. The ;; symbolic links are represented by cons cells with car being the