diff --git a/collects/racket/snip/private/snip.rkt b/collects/racket/snip/private/snip.rkt index 5ccae9bab5..fecdc0bd7c 100644 --- a/collects/racket/snip/private/snip.rkt +++ b/collects/racket/snip/private/snip.rkt @@ -787,8 +787,7 @@ (def/override (read [editor-stream-in% f]) (let ([scl (get-the-snip-class-list)] [can-inline? ((send f do-reading-version this) . > . 1)]) - (let ([filename (let ([s (send f get-bytes #f)]) - (subbytes s 0 (max 0 (sub1 (bytes-length s)))))]) + (let ([filename (send f get-bytes #f)]) (let-boxes ([type 0] [w 0.0] [h 0.0] diff --git a/collects/tests/gracket/wxme.rkt b/collects/tests/gracket/wxme.rkt index 4208af35ff..c436b39fb9 100644 --- a/collects/tests/gracket/wxme.rkt +++ b/collects/tests/gracket/wxme.rkt @@ -1347,4 +1347,23 @@ ;; ---------------------------------------- +(let () + (define (mk) (make-object image-snip% (collection-file-path "b-run.png" "icons") 'unknown #f #f)) + + (define is (mk)) + (define copy-is + (let () + (define sp (open-output-string)) + (define t (new text%)) + (send t insert (mk)) + (send t save-port sp) + (define t2 (new text%)) + (send t2 insert-port (open-input-string (get-output-string sp))) + (send t2 find-first-snip))) + + (expect (send (mk) get-filename) + (send copy-is get-filename))) + +;; ---------------------------------------- + (done)