Hi all,

Attached is a straightforward patch to move the string stuff into
chicken.string in the data-structures unit.

I decided for now to not mess with the ##sys#substring... stuff,
but we'll probably want to get rid of the ##sys# prefix some day
too.

Cheers,
Peter
From f42d27d177a21db2432ae6751a85f3718fe10ee3 Mon Sep 17 00:00:00 2001
From: Peter Bex <pe...@more-magic.net>
Date: Sun, 20 Aug 2017 16:06:55 +0200
Subject: [PATCH] Move string manipulation stuff from data-structures to
 chicken.string

---
 README                          |  1 +
 batch-driver.scm                |  2 +-
 c-backend.scm                   |  3 ++-
 c-platform.scm                  | 14 ++++++--------
 chicken-bug.scm                 |  3 ++-
 chicken-ffi-syntax.scm          |  4 ++--
 chicken-install.scm             |  3 ++-
 chicken-profile.scm             |  6 +++---
 chicken-status.scm              |  6 +++---
 chicken-uninstall.scm           |  6 +++---
 chicken.scm                     |  2 +-
 core.scm                        |  3 ++-
 csc.scm                         |  4 ++--
 csi.scm                         |  3 ++-
 data-structures.scm             | 23 ++++++++++++++--------
 defaults.make                   |  2 +-
 distribution/manifest           |  2 ++
 extras.scm                      |  2 +-
 optimizer.scm                   |  5 +++--
 pathname.scm                    |  2 +-
 rules.make                      | 42 +++++++++++++++++++++++++----------------
 scrutinizer.scm                 |  4 +++-
 support.scm                     |  3 ++-
 tests/compiler-tests.scm        |  2 +-
 tests/data-structures-tests.scm |  6 ++++--
 tests/executable-tests.scm      |  2 +-
 tests/port-tests.scm            |  3 ++-
 tests/reexport-tests.scm        |  2 +-
 tests/test-irregex.scm          |  3 ++-
 tests/test.scm                  |  2 +-
 tests/typematch-tests.scm       |  3 ++-
 tests/version-tests.scm         |  2 +-
 32 files changed, 101 insertions(+), 69 deletions(-)

diff --git a/README b/README
index 288f6e64..d6305711 100644
--- a/README
+++ b/README
@@ -320,6 +320,7 @@ _/        _/    _/    _/    _/        _/  _/    _/        _/    _/_/
 	|   |       |-- chicken.random.import.so
 	|   |       |-- chicken.repl.import.so
 	|   |       |-- chicken.sort.import.so
+	|   |       |-- chicken.string.import.so
 	|   |       |-- chicken.read-syntax.import.so
 	|   |       |-- chicken.syntax.import.so
 	|   |       |-- chicken.tcp.import.so
diff --git a/batch-driver.scm b/batch-driver.scm
index 66f5c803..c61557ff 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -36,7 +36,6 @@
     (compile-source-file)
 
 (import chicken scheme
-	chicken.data-structures
 	chicken.format
 	chicken.gc
 	chicken.internal
@@ -44,6 +43,7 @@
 	chicken.pathname
 	chicken.platform
 	chicken.pretty-print
+	chicken.string
 	chicken.time
 	chicken.compiler.support
 	chicken.compiler.compiler-syntax
diff --git a/c-backend.scm b/c-backend.scm
index 1fe60dd3..f1328c42 100644
--- a/c-backend.scm
+++ b/c-backend.scm
@@ -36,12 +36,13 @@
 
 (import chicken scheme
 	chicken.bitwise
-	chicken.data-structures
+	(only chicken.data-structures intersperse)
 	chicken.flonum
 	chicken.foreign
 	chicken.format
 	chicken.internal
 	chicken.sort
+	chicken.string
 	chicken.time
 	chicken.compiler.core
 	chicken.compiler.c-platform
diff --git a/c-platform.scm b/c-platform.scm
index f94dcfd4..9f0554e7 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -204,10 +204,8 @@
     chicken.memory#pointer-u32-set! chicken.memory#pointer-s32-set!
     chicken.memory#pointer-f32-set! chicken.memory#pointer-f64-set!
     chicken.data-structures#o
-    chicken.data-structures#substring-index
-    chicken.data-structures#substring-index-ci
-    chicken.data-structures#substring=?
-    chicken.data-structures#substring-ci=?
+    chicken.string#substring-index chicken.string#substring-index-ci
+    chicken.string#substring=? chicken.string#substring-ci=?
     chicken.data-structures#any? chicken.data-structures#atom?
     chicken.data-structures#alist-ref chicken.data-structures#rassoc
     chicken.io#read-string chicken.format#format
@@ -1039,10 +1037,10 @@
 (rewrite 'read-char 23 0 '##sys#read-char/port '##sys#standard-input)
 (rewrite 'write-char 23 1 '##sys#write-char/port '##sys#standard-output)
 (rewrite 'chicken.io#read-string 23 1 'chicken.io#read-string/port '##sys#standard-input)
-(rewrite 'chicken.data-structures#substring=? 23 2 '##sys#substring=? 0 0 #f)
-(rewrite 'chicken.data-structures#substring-ci=? 23 2 '##sys#substring-ci=? 0 0 #f)
-(rewrite 'chicken.data-structures#substring-index 23 2 '##sys#substring-index 0)
-(rewrite 'chicken.data-structures#substring-index-ci 23 2 '##sys#substring-index-ci 0)
+(rewrite 'chicken.string#substring=? 23 2 '##sys#substring=? 0 0 #f)
+(rewrite 'chicken.string#substring-ci=? 23 2 '##sys#substring-ci=? 0 0 #f)
+(rewrite 'chicken.string#substring-index 23 2 '##sys#substring-index 0)
+(rewrite 'chicken.string#substring-index-ci 23 2 '##sys#substring-index-ci 0)
 
 (rewrite 'chicken.keyword#get-keyword 7 2 "C_i_get_keyword" #f #t)
 (rewrite '##sys#get-keyword 7 2 "C_i_get_keyword" #f #t)
diff --git a/chicken-bug.scm b/chicken-bug.scm
index 7b5b04ff..0a916d08 100644
--- a/chicken-bug.scm
+++ b/chicken-bug.scm
@@ -29,7 +29,7 @@
 
 (import chicken scheme)
 
-(import (only chicken.data-structures chop string-intersperse)
+(import (only chicken.data-structures chop)
 	chicken.foreign
 	chicken.format
 	chicken.io
@@ -39,6 +39,7 @@
 	chicken.posix
 	chicken.platform
 	chicken.sort
+	(only chicken.string string-intersperse)
 	chicken.time)
 
 (define-constant +bug-report-file+ "chicken-bug-report.~a-~a-~a")
diff --git a/chicken-ffi-syntax.scm b/chicken-ffi-syntax.scm
index fc9ebbcd..aa640ff0 100644
--- a/chicken-ffi-syntax.scm
+++ b/chicken-ffi-syntax.scm
@@ -39,8 +39,8 @@
   (no-bound-checks)
   (no-procedure-checks))
 
-(import chicken.data-structures
-	chicken.format)
+(import chicken.format
+	chicken.string)
 
 (include "common-declarations.scm")
 (include "mini-srfi-1.scm")
diff --git a/chicken-install.scm b/chicken-install.scm
index 5ca3947e..80b06a41 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -29,7 +29,7 @@
 (import (scheme))
 (import (chicken))
 (import (chicken condition))
-(import (chicken data-structures))
+(import (only (chicken data-structures) o constantly))
 (import (chicken foreign))
 (import (chicken keyword))
 (import (chicken file))
@@ -44,6 +44,7 @@
 (import (chicken pathname))
 (import (chicken process))
 (import (chicken pretty-print))
+(import (chicken string))
 
 (define +defaults-version+ 2)
 (define +module-db+ "modules.db")
diff --git a/chicken-profile.scm b/chicken-profile.scm
index b676f474..f6968d17 100644
--- a/chicken-profile.scm
+++ b/chicken-profile.scm
@@ -29,11 +29,11 @@
 (module main ()
 
 (import chicken scheme)
-(import (only chicken.data-structures string-intersperse)
-	chicken.file
+(import chicken.file
 	chicken.internal
 	chicken.posix
-	chicken.sort)
+	chicken.sort
+	chicken.string)
 
 (include "mini-srfi-1.scm")
 
diff --git a/chicken-status.scm b/chicken-status.scm
index 5f4bbb2d..ae35e762 100644
--- a/chicken-status.scm
+++ b/chicken-status.scm
@@ -27,8 +27,7 @@
 
   (import (scheme))
   (import (chicken))
-  (import (only (chicken data-structures) ->string)
-	  (chicken file)
+  (import (chicken file)
 	  (chicken foreign)
 	  (chicken format)
 	  (chicken irregex)
@@ -36,7 +35,8 @@
 	  (chicken posix)
           (chicken pathname)
 	  (chicken pretty-print)
-	  (chicken sort))
+	  (chicken sort)
+	  (only (chicken string) ->string))
 
   (include "mini-srfi-1.scm")
   (include "egg-environment.scm")
diff --git a/chicken-uninstall.scm b/chicken-uninstall.scm
index 9b40a3bd..fe47d842 100644
--- a/chicken-uninstall.scm
+++ b/chicken-uninstall.scm
@@ -28,15 +28,15 @@
 
   (import (scheme)
           (chicken))
-  (import (chicken data-structures)
-	  (chicken file)
+  (import (chicken file)
           (chicken foreign)
           (chicken io)
 	  (chicken format)
 	  (chicken irregex)
 	  (chicken port)
           (chicken pathname)
-	  (chicken posix))
+	  (chicken posix)
+	  (chicken string))
 
 (include "mini-srfi-1.scm")
 (include "egg-environment.scm")
diff --git a/chicken.scm b/chicken.scm
index 747fc4ed..ed7a2ef6 100644
--- a/chicken.scm
+++ b/chicken.scm
@@ -39,7 +39,7 @@
 	chicken.compiler.c-platform
 	chicken.compiler.support
 	chicken.compiler.user-pass
-	chicken.data-structures)
+	chicken.string)
 
 (include "tweaks")
 (include "mini-srfi-1.scm")
diff --git a/core.scm b/core.scm
index 4a450335..0229dd9c 100644
--- a/core.scm
+++ b/core.scm
@@ -325,7 +325,7 @@
 	chicken.condition
 	chicken.compiler.scrutinizer
 	chicken.compiler.support
-	chicken.data-structures
+	(only chicken.data-structures butlast rassoc o)
 	chicken.eval
 	chicken.foreign
 	chicken.format
@@ -335,6 +335,7 @@
 	chicken.load
 	chicken.pretty-print
 	chicken.pathname
+	chicken.string
 	chicken.syntax)
 
 (define (d arg1 . more)
diff --git a/csc.scm b/csc.scm
index 7fdefdde..23241fac 100644
--- a/csc.scm
+++ b/csc.scm
@@ -30,12 +30,12 @@
 (import scheme
         chicken
         chicken.posix
-	chicken.data-structures
 	chicken.foreign
 	chicken.format
+        chicken.io
         chicken.process
 	chicken.pathname
-        chicken.io)
+	chicken.string)
 
 (include "egg-environment.scm")
 (include "mini-srfi-1.scm")
diff --git a/csi.scm b/csi.scm
index cab891ae..665bf5db 100644
--- a/csi.scm
+++ b/csi.scm
@@ -46,7 +46,7 @@ EOF
 
 (import chicken scheme
 	chicken.condition
-	chicken.data-structures
+	(only chicken.data-structures atom?)
 	chicken.foreign
 	chicken.format
 	chicken.gc
@@ -59,6 +59,7 @@ EOF
 	chicken.pretty-print
 	chicken.repl
 	chicken.sort
+	chicken.string
 	chicken.syntax)
 
 (include "banner.scm")
diff --git a/data-structures.scm b/data-structures.scm
index a0415010..9430d0fb 100644
--- a/data-structures.scm
+++ b/data-structures.scm
@@ -31,13 +31,6 @@
 (module chicken.data-structures
   (alist-ref alist-update alist-update! atom? butlast
    chop compress flatten intersperse join rassoc tail?
-   conc ->string string-chop string-chomp
-   string-compare3 string-compare3-ci
-   reverse-string-append
-   string-intersperse string-split
-   string-translate string-translate*
-   substring=? substring-ci=?
-   substring-index substring-index-ci
    any? constantly complement compose
    conjoin disjoin each flip identity list-of? o)
 
@@ -279,8 +272,22 @@
 		 a
 		 (loop (##sys#slot l 1)) ) ) ) ) ) )
 
+) ; chicken.data-structures
 
 
+(module chicken.string
+  (conc ->string string-chop string-chomp
+   string-compare3 string-compare3-ci
+   reverse-string-append
+   string-intersperse string-split
+   string-translate string-translate*
+   substring=? substring-ci=?
+   substring-index substring-index-ci)
+
+(import scheme chicken)
+(import chicken.foreign)
+(import chicken.condition)
+
 ; (reverse-string-append l) = (apply string-append (reverse l))
 
 (define (reverse-string-append l)
@@ -586,7 +593,7 @@
 	(##sys#substring str 0 diff)
 	str) ) )
 
-) ; chicken.data-structures
+) ; chicken.string
 
 
 (module chicken.sort
diff --git a/defaults.make b/defaults.make
index 9bebd8b6..a20d4cd5 100644
--- a/defaults.make
+++ b/defaults.make
@@ -268,7 +268,7 @@ DYNAMIC_IMPORT_LIBRARIES = srfi-4
 DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise blob errno file.posix	\
 	fixnum flonum format gc io keyword load locative memory		\
 	platform plist posix pretty-print process process.signal	\
-	process-context random syntax sort time time.posix
+	process-context random syntax sort string time time.posix
 DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass
 DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES = continuation data-structures \
 	eval file internal irregex lolevel pathname port \
diff --git a/distribution/manifest b/distribution/manifest
index 1e6a4468..a3f57dbf 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -338,6 +338,8 @@ chicken.repl.import.scm
 chicken.repl.import.c
 chicken.sort.import.scm
 chicken.sort.import.c
+chicken.string.import.scm
+chicken.string.import.c
 chicken.syntax.import.scm
 chicken.syntax.import.c
 chicken.tcp.import.scm
diff --git a/extras.scm b/extras.scm
index 3bf21fda..6508a551 100644
--- a/extras.scm
+++ b/extras.scm
@@ -253,7 +253,7 @@
   (pp pretty-print pretty-print-width)
 
 (import scheme chicken
-	chicken.data-structures)
+	chicken.string)
 
 (define generic-write
   (lambda (obj display? width output)
diff --git a/optimizer.scm b/optimizer.scm
index 8d48b3d1..67f92374 100644
--- a/optimizer.scm
+++ b/optimizer.scm
@@ -37,9 +37,10 @@
 
 (import chicken scheme
 	chicken.compiler.support
-	chicken.data-structures
+	(only chicken.data-structures o alist-ref alist-update! butlast)
 	chicken.internal
-	chicken.sort)
+	chicken.sort
+	chicken.string)
 
 (include "tweaks")
 (include "mini-srfi-1.scm")
diff --git a/pathname.scm b/pathname.scm
index 6c3a4804..26c02e82 100644
--- a/pathname.scm
+++ b/pathname.scm
@@ -48,7 +48,7 @@
    pathname-strip-extension)
 
 (import chicken scheme
-        chicken.data-structures
+        chicken.string
         chicken.irregex
 	chicken.platform)
 
diff --git a/rules.make b/rules.make
index 945f31ab..aabd8422 100644
--- a/rules.make
+++ b/rules.make
@@ -523,13 +523,14 @@ $(eval $(call declare-emitted-import-lib-dependency,chicken.locative,lolevel))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.memory,lolevel))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.syntax,expand))
 $(eval $(call declare-emitted-import-lib-dependency,chicken.sort,data-structures))
+$(eval $(call declare-emitted-import-lib-dependency,chicken.string,data-structures))
 
 chicken.c: chicken.scm mini-srfi-1.scm \
 		chicken.compiler.batch-driver.import.scm \
 		chicken.compiler.c-platform.import.scm \
 		chicken.compiler.support.import.scm \
 		chicken.compiler.user-pass.import.scm \
-		chicken.data-structures.import.scm
+		chicken.string.import.scm
 batch-driver.c: batch-driver.scm mini-srfi-1.scm \
 		chicken.compiler.core.import.scm \
 		chicken.compiler.compiler-syntax.import.scm \
@@ -540,7 +541,6 @@ batch-driver.c: batch-driver.scm mini-srfi-1.scm \
 		chicken.compiler.c-backend.import.scm \
 		chicken.compiler.support.import.scm \
 		chicken.compiler.user-pass.import.scm \
-		chicken.data-structures.import.scm \
 		chicken.format.import.scm \
 		chicken.gc.import.scm \
 		chicken.internal.import.scm \
@@ -548,6 +548,7 @@ batch-driver.c: batch-driver.scm mini-srfi-1.scm \
 		chicken.pathname.import.scm \
 		chicken.platform.import.scm \
 		chicken.pretty-print.import.scm \
+		chicken.string.import.scm \
 		chicken.time.import.scm
 c-platform.c: c-platform.scm mini-srfi-1.scm \
 		chicken.compiler.optimizer.import.scm \
@@ -565,6 +566,7 @@ c-backend.c: c-backend.scm mini-srfi-1.scm \
 		chicken.format.import.scm \
 		chicken.internal.import.scm \
 		chicken.sort.import.scm \
+		chicken.string.import.scm \
 		chicken.time.import.scm
 core.c: core.scm mini-srfi-1.scm \
 		chicken.compiler.scrutinizer.import.scm \
@@ -576,12 +578,14 @@ core.c: core.scm mini-srfi-1.scm \
 		chicken.keyword.import.scm \
 		chicken.load.import.scm \
 		chicken.pretty-print.import.scm \
+		chicken.string.import.scm \
 		chicken.syntax.import.scm
 optimizer.c: optimizer.scm mini-srfi-1.scm \
 		chicken.compiler.support.import.scm \
 		chicken.data-structures.import.scm \
 		chicken.internal.import.scm \
-		chicken.sort.import.scm
+		chicken.sort.import.scm \
+		chicken.string.import.scm
 scheduler.c: scheduler.scm \
 		chicken.format.import.scm
 scrutinizer.c: scrutinizer.scm mini-srfi-1.scm \
@@ -594,6 +598,7 @@ scrutinizer.c: scrutinizer.scm mini-srfi-1.scm \
 		chicken.platform.import.scm \
 		chicken.port.import.scm \
 		chicken.pretty-print.import.scm \
+		chicken.string.import.scm \
 		chicken.syntax.import.scm
 lfa2.c: lfa2.scm mini-srfi-1.scm \
 		chicken.compiler.support.import.scm \
@@ -604,8 +609,8 @@ compiler-syntax.c: compiler-syntax.scm mini-srfi-1.scm \
 		chicken.data-structures.import.scm \
 		chicken.format.import.scm
 chicken-ffi-syntax.c: chicken-ffi-syntax.scm \
-		chicken.data-structures.import.scm \
-		chicken.format.import.scm
+		chicken.format.import.scm \
+		chicken.string.import.scm
 support.c: support.scm mini-srfi-1.scm \
 		chicken.bitwise.import.scm \
 		chicken.blob.import.scm \
@@ -624,6 +629,7 @@ support.c: support.scm mini-srfi-1.scm \
 		chicken.pretty-print.import.scm \
 		chicken.random.import.scm \
 		chicken.sort.import.scm \
+		chicken.string.import.scm \
 		chicken.syntax.import.scm \
 		chicken.time.import.scm
 modules.c: modules.scm \
@@ -633,7 +639,7 @@ modules.c: modules.scm \
 		chicken.platform.import.scm \
 		chicken.syntax.import.scm
 csc.c: csc.scm \
-		chicken.data-structures.import.scm \
+		chicken.string.import.scm \
 		chicken.format.import.scm \
 		chicken.pathname.import.scm \
 		chicken.posix.import.scm
@@ -652,6 +658,7 @@ csi.c: csi.scm \
 		chicken.pretty-print.import.scm \
 		chicken.repl.import.scm \
 		chicken.sort.import.scm \
+		chicken.string.import.scm \
 		chicken.syntax.import.scm
 chicken-bug.c: chicken-bug.scm \
 		chicken.foreign.import.scm \
@@ -662,14 +669,14 @@ chicken-bug.c: chicken-bug.scm \
 		chicken.platform.import.scm \
 		chicken.port.import.scm \
 		chicken.posix.import.scm \
+		chicken.string.import.scm \
 		chicken.time.import.scm
 chicken-profile.c: chicken-profile.scm \
-		chicken.data-structures.import.scm \
 		chicken.internal.import.scm \
 		chicken.posix.import.scm \
-		chicken.sort.import.scm
+		chicken.sort.import.scm \
+		chicken.string.import.scm
 chicken-status.c: chicken-status.scm \
-		chicken.data-structures.import.scm \
 		chicken.file.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
@@ -678,7 +685,8 @@ chicken-status.c: chicken-status.scm \
 		chicken.port.import.scm \
 		chicken.posix.import.scm \
 		chicken.pretty-print.import.scm \
-		chicken.sort.import.scm
+		chicken.sort.import.scm \
+		chicken.string.import.scm
 chicken-install.c: chicken-install.scm \
 		chicken.condition.import.scm \
 		chicken.data-structures.import.scm \
@@ -692,16 +700,17 @@ chicken-install.c: chicken-install.scm \
 		chicken.posix.import.scm \
 		chicken.pretty-print.import.scm \
 		chicken.sort.import.scm \
+		chicken.string.import.scm \
 		chicken.tcp.import.scm
 chicken-uninstall.c: chicken-uninstall.scm \
-		chicken.data-structures.import.scm \
 		chicken.file.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
 		chicken.irregex.import.scm \
 		chicken.pathname.import.scm \
 		chicken.port.import.scm \
-		chicken.posix.import.scm
+		chicken.posix.import.scm \
+		chicken.string.import.scm
 chicken-syntax.c: chicken-syntax.scm \
 		chicken.platform.import.scm
 srfi-4.c: srfi-4.scm \
@@ -738,7 +747,7 @@ expand.c: expand.scm \
 		chicken.platform.import.scm \
 		chicken.internal.import.scm
 extras.c: extras.scm \
-		chicken.data-structures.import.scm \
+		chicken.string.import.scm \
 		chicken.time.import.scm
 eval.c: eval.scm \
 		chicken.blob.import.scm \
@@ -761,9 +770,9 @@ file.c: file.scm \
 lolevel.c: lolevel.scm \
 		chicken.foreign.import.scm
 pathname.c: pathname.scm \
-		chicken.data-structures.import.scm \
 		chicken.irregex.import.scm \
-		chicken.platform.import.scm
+		chicken.platform.import.scm \
+		chicken.string.import.scm
 port.c: port.scm \
 		chicken.io.import.scm
 read-syntax.c: read-syntax.scm \
@@ -843,7 +852,8 @@ continuation.c: $(SRCDIR)continuation.scm $(SRCDIR)common-declarations.scm
 data-structures.c: $(SRCDIR)data-structures.scm $(SRCDIR)common-declarations.scm
 	$(bootstrap-lib) \
 	-emit-import-library chicken.data-structures \
-	-emit-import-library chicken.sort
+	-emit-import-library chicken.sort \
+	-emit-import-library chicken.string
 pathname.c: $(SRCDIR)pathname.scm $(SRCDIR)common-declarations.scm
 	$(bootstrap-lib) -emit-import-library chicken.pathname
 port.c: $(SRCDIR)port.scm $(SRCDIR)common-declarations.scm
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 6d231938..141338a5 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -36,7 +36,8 @@
 
 (import chicken scheme
 	chicken.compiler.support
-	chicken.data-structures
+	(only chicken.data-structures
+	      identity constantly alist-ref alist-update! butlast atom?)
 	chicken.format
 	chicken.internal
 	chicken.io
@@ -44,6 +45,7 @@
 	chicken.platform
 	chicken.port
 	chicken.pretty-print
+	chicken.string
 	chicken.syntax)
 
 (include "tweaks")
diff --git a/support.scm b/support.scm
index 78ce2940..1c2d27c5 100644
--- a/support.scm
+++ b/support.scm
@@ -79,7 +79,7 @@
 	chicken.bitwise
 	chicken.blob
 	chicken.condition
-	chicken.data-structures
+	(only chicken.data-structures butlast alist-ref atom?)
 	chicken.file
 	chicken.foreign
 	chicken.format
@@ -93,6 +93,7 @@
 	chicken.pretty-print
 	chicken.random
 	chicken.sort
+	chicken.string
 	chicken.syntax
 	chicken.time)
 
diff --git a/tests/compiler-tests.scm b/tests/compiler-tests.scm
index 348a0fbc..c2f0c068 100644
--- a/tests/compiler-tests.scm
+++ b/tests/compiler-tests.scm
@@ -3,7 +3,7 @@
 
 (import (chicken bitwise) (chicken flonum) (chicken foreign)
 	(chicken condition) (srfi 4))
-(import-for-syntax (chicken syntax) data-structures)
+(import-for-syntax (chicken syntax) (chicken string))
 
 ;; test dropping of previous toplevel assignments
 
diff --git a/tests/data-structures-tests.scm b/tests/data-structures-tests.scm
index 3f8db863..7edbc48e 100644
--- a/tests/data-structures-tests.scm
+++ b/tests/data-structures-tests.scm
@@ -1,7 +1,9 @@
 ;;;; data-structures-tests.scm
 
-(import (chicken data-structures)
-	(chicken sort))
+(import (only (chicken data-structures)
+	      alist-ref alist-update! alist-update)
+	(chicken sort)
+	(chicken string))
 
 (define-syntax assert-error
   (syntax-rules ()
diff --git a/tests/executable-tests.scm b/tests/executable-tests.scm
index 6d03e7e1..f1ebc82a 100644
--- a/tests/executable-tests.scm
+++ b/tests/executable-tests.scm
@@ -4,7 +4,7 @@
 
 (import (chicken pathname)
         (chicken posix)
-        (chicken data-structures))
+        (chicken string))
 
 (define program-path
   (cond-expand
diff --git a/tests/port-tests.scm b/tests/port-tests.scm
index bb12da54..40d31e88 100644
--- a/tests/port-tests.scm
+++ b/tests/port-tests.scm
@@ -1,4 +1,5 @@
-(require-extension chicken.condition data-structures file flonum format io port posix srfi-4 tcp)
+(use chicken.condition (only data-structures constantly)
+     file flonum format io port posix srfi-4 tcp)
 
 (include "test.scm")
 (test-begin)
diff --git a/tests/reexport-tests.scm b/tests/reexport-tests.scm
index 7a74cb06..bc7e4172 100644
--- a/tests/reexport-tests.scm
+++ b/tests/reexport-tests.scm
@@ -29,7 +29,7 @@
 
 (compound-module
  big-chicken
- chicken port file pretty-print data-structures)
+ chicken port file pretty-print chicken.string)
 
 (module m3 ()
   (import scheme big-chicken)
diff --git a/tests/test-irregex.scm b/tests/test-irregex.scm
index 26330068..c69736a3 100644
--- a/tests/test-irregex.scm
+++ b/tests/test-irregex.scm
@@ -1,7 +1,8 @@
 ;;;: test-irregex.scm
 
 
-(use data-structures format io irregex port)
+(use (only chicken.string string-split string-intersperse)
+     format io irregex port)
 
 (include "test.scm")
 
diff --git a/tests/test.scm b/tests/test.scm
index 5c339330..7c89a5ba 100644
--- a/tests/test.scm
+++ b/tests/test.scm
@@ -2,7 +2,7 @@
 ;
 ; by Alex Shinn, lifted from match-test by felix
 
-(use data-structures) ; ->string
+(use (only chicken.string ->string))
 (use time) ; current-milliseconds
 
 (define *pass* 0)
diff --git a/tests/typematch-tests.scm b/tests/typematch-tests.scm
index 9f1f70c7..6d5a3e57 100644
--- a/tests/typematch-tests.scm
+++ b/tests/typematch-tests.scm
@@ -1,7 +1,8 @@
 ;;;; typematch-tests.scm
 
 
-(use chicken.blob chicken.memory data-structures locative)
+(use (only chicken.data-structures identity)
+     chicken.blob chicken.memory locative)
 
 
 (define (make-list n x)
diff --git a/tests/version-tests.scm b/tests/version-tests.scm
index 92b8f288..9b98af46 100644
--- a/tests/version-tests.scm
+++ b/tests/version-tests.scm
@@ -1,4 +1,4 @@
-(use data-structures irregex chicken.platform)
+(use irregex chicken.platform chicken.string)
 
 (let* ((version-tokens (string-split (chicken-version) "."))
        (major (string->number (car version-tokens)))
-- 
2.11.0

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to