From da600ad291b914a90d5c283bd38bb64a05a199a1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 27 Apr 2014 10:13:27 -0600 Subject: [PATCH] file/zip: recognize string ports as seekable --- racket/collects/file/zip.rkt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/racket/collects/file/zip.rkt b/racket/collects/file/zip.rkt index c44174f8f4..3e53f03bad 100644 --- a/racket/collects/file/zip.rkt +++ b/racket/collects/file/zip.rkt @@ -72,10 +72,11 @@ ;; seekable-port? : port -> boolean (define (seekable-port? port) - (and (file-stream-port? port) - (with-handlers ([void (lambda (exn) #f)]) - (file-position port (file-position port)) - #t))) + (or (string-port? port) + (and (file-stream-port? port) + (with-handlers ([void (lambda (exn) #f)]) + (file-position port (file-position port)) + #t)))) (define (write-int n size) (write-bytes (integer->integer-bytes n size #f #f)))