~ chicken-core (chicken-5) a8a9c1dd21be5cfbcff78671782f4f6101f2479d


commit a8a9c1dd21be5cfbcff78671782f4f6101f2479d
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Aug 4 13:29:57 2025 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Aug 4 13:29:57 2025 +0100

    we just use "/" everywhere

diff --git a/egg-environment.scm b/egg-environment.scm
index 1dbda373..ee68df7c 100644
--- a/egg-environment.scm
+++ b/egg-environment.scm
@@ -75,7 +75,7 @@ EOF
   (string-append default-bindir "/" (foreign-value "C_CSI_PROGRAM" c-string)))
 
 (define default-builder 
-  (make-pathname default-bindir (foreign-value "C_CHICKEN_DO_PROGRAM" c-string)))
+  (string-append default-bindir "/" (foreign-value "C_CHICKEN_DO_PROGRAM" c-string)))
 
 (define target-librarian (foreign-value "C_TARGET_LIBRARIAN" c-string))
 (define target-librarian-options (foreign-value "C_TARGET_LIBRARIAN_FLAGS" c-string))
@@ -120,14 +120,15 @@ EOF
 
 (define cache-directory
   (or (get-environment-variable "CHICKEN_EGG_CACHE")
-      (make-pathname (or (system-cache-directory)
-                         (current-directory))
-                     chicken-install-program)))
+      (string-append (or (system-cache-directory)
+                          (current-directory))
+                     "/"
+                      chicken-install-program)))
 
 (define cache-metadata-directory
   ;; Directory where the VERSION, TIMESTAMP and STATUS files are
   ;; stored (under their corresponding egg directory).
-  (make-pathname cache-directory ".cache-metadata"))
+  (string-append cache-directory "/.cache-metadata"))
 
 (define +version-file+ "VERSION")
 (define +timestamp-file+ "TIMESTAMP")
diff --git a/manual/Module (chicken pathname) b/manual/Module (chicken pathname)
index 13b3e2e2..a1bd95ec 100644
--- a/manual/Module (chicken pathname)	
+++ b/manual/Module (chicken pathname)	
@@ -31,8 +31,7 @@ For any component that is not contained in {{PATHNAME}}, {{#f}} is returned.
 Returns a string that names the file with the
 components {{DIRECTORY, FILENAME}} and (optionally)
 {{EXTENSION}} with {{SEPARATOR}} being the directory separation indicator
-(usually {{/}} on UNIX systems and {{\}} on Windows, defaulting to whatever
-platform this is running on). 
+({{/}}). 
 {{DIRECTORY}} can be {{#f}} (meaning no
 directory component), a string or a list of strings. {{FILENAME}}
 and {{EXTENSION}} should be strings or {{#f}}.
@@ -78,7 +77,7 @@ Performs a simple "normalization" on the {{PATHNAME}}, suitably for
 or {{unix}} and defaults to on whatever platform is currently
 in use. All relative path elements and duplicate separators are processed 
 and removed.  If {{NAME}} ends with
-a {{/}} or is empty, the appropriate slash is appended to the tail.
+a {{/}} or is empty, a slash is appended to the tail.
 
 No directories or files are actually tested for existence; this 
 procedure only canonicalises path syntax.
diff --git a/pathname.scm b/pathname.scm
index b8ab39be..3edf5f01 100644
--- a/pathname.scm
+++ b/pathname.scm
@@ -83,9 +83,7 @@
   (irregex-match-data? (absolute-pathname-root pn)))
 
 (define-inline (*char-pds? ch)
-  (if ##sys#windows-platform
-      (memq ch '(#\\ #\/))
-      (eq? #\/ ch)))
+  (eq? #\/ ch))
 
 (define (chop-pds str)
   (and str
@@ -100,7 +98,7 @@
 (define make-pathname)
 (define make-absolute-pathname)
 
-(let ((pds (if ##sys#windows-platform "\\" "/")))
+(let ()
 
   (define (conc-dirs dirs)
     (##sys#check-list dirs 'make-pathname)
@@ -112,7 +110,7 @@
 		(loop (cdr strs))
 		(string-append
 		 (chop-pds (car strs))
-		 pds
+		 "/"
 		 (loop (cdr strs))))))))
 
   (define (canonicalize-dirs dirs)
@@ -150,7 +148,7 @@
        (let ((dir (canonicalize-dirs dirs)))
 	 (if (absolute-pathname? dir)
 	     dir
-	     (##sys#string-append pds dir)))
+	     (##sys#string-append "/" dir)))
        file ext))))
 
 (define decompose-pathname
@@ -240,11 +238,8 @@
 		 (cdr parts)))
             (else (cons part parts))))
     (lambda (path #!optional (platform bldplt))
-      (let ((sep (if (eq? platform 'windows) #\\ #\/)))
-        (define (pds? c)
-          (if (eq? platform 'windows)
-              (memq c '(#\/ #\\))
-              (eq? c #\/)))
+      (let ((sep #\/))
+        (define (pds? c) (eq? c #\/))
 	(##sys#check-string path 'normalize-pathname)
 	(let ((len (string-length path))
 	      (type #f)
Trap