From f02bfbd11ea71b6e0afcd1424da754f2bdea764b Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 24 Nov 2014 09:08:22 -0700 Subject: [PATCH] racket/snip: fix bug in splitting string snips --- pkgs/gui-pkgs/gui-test/tests/gracket/editor.rktl | 12 +++++++++++- pkgs/snip-pkgs/snip-lib/racket/snip/private/snip.rkt | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/gui-pkgs/gui-test/tests/gracket/editor.rktl b/pkgs/gui-pkgs/gui-test/tests/gracket/editor.rktl index dd454e76d7..901d15cbc0 100644 --- a/pkgs/gui-pkgs/gui-test/tests/gracket/editor.rktl +++ b/pkgs/gui-pkgs/gui-test/tests/gracket/editor.rktl @@ -648,7 +648,17 @@ (error 'notifications "too weak? ~e" count)) (unless (<= 0 count2 (/ N 2)) (error 'notifications "not weak enough? ~e" count2))) - + +;; ---------------------------------------- +;; make sure splitting a large string snip works: + +(void + (send (make-object string-snip% (make-string 100000 #\a)) + split + 50000 + (box #f) + (box #f))) + ;; ---------------------------------------- ;; No # checks on certain class instances diff --git a/pkgs/snip-pkgs/snip-lib/racket/snip/private/snip.rkt b/pkgs/snip-pkgs/snip-lib/racket/snip/private/snip.rkt index 2381d6c4a9..13078c42cf 100644 --- a/pkgs/snip-pkgs/snip-lib/racket/snip/private/snip.rkt +++ b/pkgs/snip-pkgs/snip-lib/racket/snip/private/snip.rkt @@ -529,7 +529,7 @@ (let ([s (string-snip-buffer snip)]) (unless ((string-length s) . >= . position) - (set-string-snip-buffer! s (make-string position)))) + (set-string-snip-buffer! snip (make-string position)))) (string-copy! (string-snip-buffer snip) 0