~ chicken-core (master) ae88ee8027bcd2b90aba6f2a6a2d4ffb6bb176f5


commit ae88ee8027bcd2b90aba6f2a6a2d4ffb6bb176f5
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Sep 24 14:36:46 2026 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Thu Sep 24 14:36:46 2026 +0200

    remove dependency on lolevel module by using inline code

diff --git a/file.scm b/file.scm
index a672d541..b2112346 100644
--- a/file.scm
+++ b/file.scm
@@ -35,7 +35,7 @@
 
 (declare
   (unit file)
-  (uses extras irregex lolevel pathname posix)
+  (uses extras irregex pathname posix)
   (fixnum)
   (disable-interrupts)
   (foreign-declare #<<EOF
@@ -140,7 +140,6 @@ EOF
 	chicken.foreign
 	chicken.io
 	chicken.irregex
-        chicken.memory.representation
 	chicken.pathname
 	chicken.process-context)
 
@@ -369,7 +368,7 @@ EOF
               (if (file-exists? pn)
                   (loop)
                   (call-with-output-file pn (lambda (p) pn)))))
-          (let* ((n (number-of-bytes ext))
+          (let* ((n (fx- (##sys#size (##sys#slot ext 0)) 1))
                  ;; Account for the added dot.
                  (n (if (fx= n 0) 0 (fx+ n 1)))
                  (pn (make-pathname
diff --git a/rules.make b/rules.make
index a0537062..85111a3e 100644
--- a/rules.make
+++ b/rules.make
@@ -791,7 +791,6 @@ file.c: file.scm \
 		chicken.io.import.scm \
 		chicken.irregex.import.scm \
 		chicken.foreign.import.scm \
-		chicken.memory.representation.import.scm \
 		chicken.pathname.import.scm \
 		chicken.process-context.import.scm
 lolevel.c: lolevel.scm \
Trap