~ chicken-core (master) 1320ee4e5715c7760beae4a08ffb0a5415d6a56d
commit 1320ee4e5715c7760beae4a08ffb0a5415d6a56d
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Sep 5 23:11:50 2026 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Sep 5 23:11:50 2026 +0200
call proper port-class method
diff --git a/library.scm b/library.scm
index a08477ed..52b2c7bd 100644
--- a/library.scm
+++ b/library.scm
@@ -4620,12 +4620,17 @@ EOF
(set! scheme#char-ready?
(lambda (#!optional (port ##sys#standard-input))
(##sys#check-input-port port #t 'char-ready?)
- ((##sys#slot (##sys#slot port 2) 6) port) )) ; char-ready?
+ (let ((class (##sys#slot port 2)))
+ ;; check size - for backwards compatibility we still allow missing method
+ ((if (fx> (##sys#size class) 9)
+ (##sys#slot class 10) ; char-ready?
+ (##sys#slot class 6)) ; u8-ready?
+ port))))
(set! scheme#u8-ready?
(lambda (#!optional (port ##sys#standard-input))
(##sys#check-input-port port #t 'u8-ready?)
- ((##sys#slot (##sys#slot port 2) 6) port) )) ; char-ready?
+ ((##sys#slot (##sys#slot port 2) 6) port) )) ; u8-ready?
(set! scheme#read-char
(lambda (#!optional (port ##sys#standard-input))
Trap