~ chicken-core (chicken-5) a7f5cdc115104758d6c27ceb3129e8bcbd02f5b5


commit a7f5cdc115104758d6c27ceb3129e8bcbd02f5b5
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Mar 5 11:53:29 2010 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Fri Mar 5 11:53:29 2010 +0100

    terminal-size for windows was unimplemented, but should at least return 0/0

diff --git a/posixwin.scm b/posixwin.scm
index ea8bf0be..b95cebc5 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -1768,7 +1768,13 @@ EOF
 
 (define (terminal-port? port)
   (##sys#check-port port 'terminal-port?)
-  #f)
+  (let ([fp (##sys#peek-unsigned-integer port 0)])
+    (and (not (eq? 0 fp)) (##core#inline "C_tty_portp" port) ) ) )
+
+(define (terminal-size port)
+  (if (terminal-port? port)
+      (values 0 0)
+      (##sys#error 'terminal-size "port is not connected to a terminal" port)))
 
 (define-foreign-variable _iofbf int "_IOFBF")
 (define-foreign-variable _iolbf int "_IOLBF")
@@ -2140,7 +2146,6 @@ EOF
 (define-unimplemented signal-masked?)
 (define-unimplemented signal-unmask!)
 (define-unimplemented terminal-name)
-(define-unimplemented terminal-size)
 (define-unimplemented unmap-file-from-memory)
 (define-unimplemented user-information)
 (define-unimplemented utc-time->seconds)
Trap