Here's a hopefully cleaner patch file, sorry...
Diego
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.egg /tmp/sqlite3/sqlite3.egg
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.egg 2026-09-08 13:07:58.609155193 -0400
+++ /tmp/sqlite3/sqlite3.egg 2026-09-08 12:41:50.080311982 -0400
@@ -5,7 +5,8 @@
(version "3.7.3")
(dependencies
srfi-1 srfi-13 srfi-18 srfi-69 object-evict
- check-errors synch miscmacros matchable sql-null)
+ check-errors synch miscmacros matchable sql-null
+ chicken-blob)
(test-dependencies test)
(components
(extension sqlite3
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.link /tmp/sqlite3/sqlite3.link
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.link 1969-12-31 19:00:00.000000000 -0500
+++ /tmp/sqlite3/sqlite3.link 2026-09-08 13:06:10.307247004 -0400
@@ -0,0 +1,12 @@
+(sql-null
+ matchable
+ miscmacros
+ synch
+ type-checks
+ type-errors
+ object-evict
+ srfi-69
+ srfi-18
+ srfi-13
+ srfi-1
+ chicken.blob)
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.scm /tmp/sqlite3/sqlite3.scm
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.scm 2026-09-08 13:07:58.609155193 -0400
+++ /tmp/sqlite3/sqlite3.scm 2026-09-08 12:53:28.031422945 -0400
@@ -118,6 +118,11 @@
matchable
sql-null)
+(cond-expand
+ (chicken-6
+ (import (scheme case-lambda))
+ (import (only (scheme base) exact-integer?)))
+ (else))
;;; Foreign types & values
;; Enumeration and constant definitions
@@ -194,12 +199,14 @@
(ptr database-ptr database-ptr-set!)
(busy-handler database-busy-handler database-busy-handler-set!))
-(define-record-printer (sqlite3:database db out)
- (display
+(set-record-printer!
+ sqlite3:database
+ (lambda (db out)
+ (display
(if (database-ptr db)
- "#<sqlite3:database>"
- "#<sqlite3:database zombie>")
- out))
+ "#<sqlite3:database>"
+ "#<sqlite3:database zombie>")
+ out)))
(define-check+error-type database)
@@ -214,12 +221,14 @@
(ptr statement-ptr statement-ptr-set!)
(database statement-database))
-(define-record-printer (sqlite3:statement stmt out)
- (display
+(set-record-printer!
+ sqlite3:statement
+ (lambda (stmt out)
+ (display
(if (statement-ptr stmt)
- (sprintf "#<sqlite3:statement sql=~s>" (source-sql stmt))
- "#<sqlite3:statement zombie>")
- out))
+ (sprintf "#<sqlite3:statement sql=~s>" (source-sql stmt))
+ "#<sqlite3:statement zombie>")
+ out)))
(define-check+error-type statement)
@@ -443,7 +452,7 @@
ctx v)]
[(string? v)
((foreign-lambda* void
- ((sqlite3:context ctx) (scheme-pointer v) (int n))
+ ((sqlite3:context ctx) (c-string v) (int n))
"sqlite3_result_text(ctx, v, n, SQLITE_TRANSIENT);")
ctx v (string-length v))]
[(sql-null? v)
@@ -702,10 +711,10 @@
(let-location ([stmt c-pointer] [tail c-string])
(cond
[((foreign-safe-lambda sqlite3:status "sqlite3_prepare_v2"
- sqlite3:database scheme-pointer int
+ sqlite3:database (const c-string) int
(c-pointer sqlite3:statement)
(c-pointer (const c-string)))
- db (string-append sql "\x00") (string-length sql) #$stmt #$tail)
+ db (string-append sql) (string-length sql) #$stmt #$tail)
=> (lambda (err)
(case err
[(busy)
@@ -782,7 +791,7 @@
=> (abort-sqlite3-error 'bind! (statement-database stmt) stmt i v)])]
[(string? v)
(cond [((foreign-lambda* sqlite3:status
- ((sqlite3:statement stmt) (int i) (scheme-pointer v) (int n))
+ ((sqlite3:statement stmt) (int i) (c-string v) (int n))
"return(sqlite3_bind_text(stmt, i, v, n, SQLITE_TRANSIENT));")
stmt (fx+ i 1) v (string-length v))
=> (abort-sqlite3-error 'bind! (statement-database stmt) stmt i v)])]
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/TIMESTAMP /tmp/sqlite3/TIMESTAMP
--- /home/dieggsy/.cache/chicken-install/sqlite3/TIMESTAMP 2026-09-08 13:07:58.613155280 -0400
+++ /tmp/sqlite3/TIMESTAMP 2026-09-08 12:26:20.155237029 -0400
@@ -1 +1 @@
-1788887278
\ No newline at end of file
+1788884757
\ No newline at end of file