From 1b2013dd7334f9e4ee945d37f2e40db67e1e371d Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Sat, 23 May 2009 23:51:52 +0000 Subject: [PATCH 01/11] Fix error reporting when first clause is not a list. Ok for 4.2. svn: r14965 --- collects/scheme/match/define-forms.ss | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/collects/scheme/match/define-forms.ss b/collects/scheme/match/define-forms.ss index 7ab16fdae2..e23f216341 100644 --- a/collects/scheme/match/define-forms.ss +++ b/collects/scheme/match/define-forms.ss @@ -41,16 +41,19 @@ (syntax-case stx () [(k [pats . rhs] ...) (let* ([pss (syntax->list #'(pats ...))] - [ps1 (car pss)] - [len (length (syntax->list ps1))]) - (for/list ([ps pss]) - (unless (= (length (syntax->list ps)) len) - (raise-syntax-error - #f "unequal number of patterns in match clauses" - stx ps))) - (with-syntax ([(vars ...) (generate-temporaries (car pss))]) - (syntax/loc stx - (lambda (vars ...) (match* (vars ...) [pats . rhs] ...)))))])) + [ps1 (car pss)]) + (unless (syntax->list ps1) + (raise-syntax-error + #f "expected a sequence of patterns" stx ps1)) + (let ([len (length (syntax->list ps1))]) + (for/list ([ps pss]) + (unless (= (length (syntax->list ps)) len) + (raise-syntax-error + #f "unequal number of patterns in match clauses" + stx ps))) + (with-syntax ([(vars ...) (generate-temporaries (car pss))]) + (syntax/loc stx + (lambda (vars ...) (match* (vars ...) [pats . rhs] ...))))))])) ;; there's lots of duplication here to handle named let ;; some factoring out would do a lot of good From 68a13eacc82efe45291d40e3968a65d54feba40c Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Sun, 24 May 2009 07:50:14 +0000 Subject: [PATCH 02/11] Welcome to a new PLT day. svn: r14966 --- collects/repos-time-stamp/stamp.ss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/repos-time-stamp/stamp.ss b/collects/repos-time-stamp/stamp.ss index 85849971ab..0fc1ad6b7a 100644 --- a/collects/repos-time-stamp/stamp.ss +++ b/collects/repos-time-stamp/stamp.ss @@ -1 +1 @@ -#lang scheme/base (provide stamp) (define stamp "22may2009") +#lang scheme/base (provide stamp) (define stamp "24may2009") From 8218da607035e5ee0551a7ddea289adb0d84a1d3 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 May 2009 11:05:12 +0000 Subject: [PATCH 03/11] fix some allocation sizes that used 'int' instead of 'long' (merge to 4.2) svn: r14967 --- src/mzscheme/src/schemef.h | 6 +++--- src/mzscheme/src/schemex.h | 6 +++--- src/mzscheme/src/strops.inc | 4 ++-- src/mzscheme/src/vector.c | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mzscheme/src/schemef.h b/src/mzscheme/src/schemef.h index 8438b2b22b..1ac10b46c8 100644 --- a/src/mzscheme/src/schemef.h +++ b/src/mzscheme/src/schemef.h @@ -516,7 +516,7 @@ MZ_EXTERN Scheme_Object *scheme_make_sized_byte_string(char *chars, long len, in MZ_EXTERN Scheme_Object *scheme_make_sized_offset_byte_string(char *chars, long d, long len, int copy); MZ_EXTERN Scheme_Object *scheme_make_immutable_sized_byte_string(char *chars, long len, int copy); MZ_EXTERN Scheme_Object *scheme_make_byte_string_without_copying(char *chars); -MZ_EXTERN Scheme_Object *scheme_alloc_byte_string(int size, char fill); +MZ_EXTERN Scheme_Object *scheme_alloc_byte_string(long size, char fill); MZ_EXTERN Scheme_Object *scheme_append_byte_string(Scheme_Object *, Scheme_Object *); MZ_EXTERN Scheme_Object *scheme_make_utf8_string(const char *chars); @@ -538,12 +538,12 @@ MZ_EXTERN Scheme_Object *scheme_make_sized_char_string(mzchar *chars, long len, MZ_EXTERN Scheme_Object *scheme_make_sized_offset_char_string(mzchar *chars, long d, long len, int copy); MZ_EXTERN Scheme_Object *scheme_make_immutable_sized_char_string(mzchar *chars, long len, int copy); MZ_EXTERN Scheme_Object *scheme_make_char_string_without_copying(mzchar *chars); -MZ_EXTERN Scheme_Object *scheme_alloc_char_string(int size, mzchar fill); +MZ_EXTERN Scheme_Object *scheme_alloc_char_string(long size, mzchar fill); MZ_EXTERN Scheme_Object *scheme_append_char_string(Scheme_Object *, Scheme_Object *); MZ_EXTERN mzchar *scheme_string_recase(mzchar *s, int d, int len, int mode, int inplace, int *_len); -MZ_EXTERN Scheme_Object *scheme_make_vector(int size, Scheme_Object *fill); +MZ_EXTERN Scheme_Object *scheme_make_vector(long size, Scheme_Object *fill); MZ_EXTERN Scheme_Object *scheme_make_integer_value(long i); MZ_EXTERN Scheme_Object *scheme_make_integer_value_from_unsigned(unsigned long i); MZ_EXTERN Scheme_Object *scheme_make_integer_value_from_long_long(mzlonglong i); diff --git a/src/mzscheme/src/schemex.h b/src/mzscheme/src/schemex.h index 8a9341128d..8c0244f4bd 100644 --- a/src/mzscheme/src/schemex.h +++ b/src/mzscheme/src/schemex.h @@ -425,7 +425,7 @@ Scheme_Object *(*scheme_make_sized_byte_string)(char *chars, long len, int copy) Scheme_Object *(*scheme_make_sized_offset_byte_string)(char *chars, long d, long len, int copy); Scheme_Object *(*scheme_make_immutable_sized_byte_string)(char *chars, long len, int copy); Scheme_Object *(*scheme_make_byte_string_without_copying)(char *chars); -Scheme_Object *(*scheme_alloc_byte_string)(int size, char fill); +Scheme_Object *(*scheme_alloc_byte_string)(long size, char fill); Scheme_Object *(*scheme_append_byte_string)(Scheme_Object *, Scheme_Object *); Scheme_Object *(*scheme_make_utf8_string)(const char *chars); Scheme_Object *(*scheme_make_sized_utf8_string)(char *chars, long len); @@ -443,10 +443,10 @@ Scheme_Object *(*scheme_make_sized_char_string)(mzchar *chars, long len, int cop Scheme_Object *(*scheme_make_sized_offset_char_string)(mzchar *chars, long d, long len, int copy); Scheme_Object *(*scheme_make_immutable_sized_char_string)(mzchar *chars, long len, int copy); Scheme_Object *(*scheme_make_char_string_without_copying)(mzchar *chars); -Scheme_Object *(*scheme_alloc_char_string)(int size, mzchar fill); +Scheme_Object *(*scheme_alloc_char_string)(long size, mzchar fill); Scheme_Object *(*scheme_append_char_string)(Scheme_Object *, Scheme_Object *); mzchar *(*scheme_string_recase)(mzchar *s, int d, int len, int mode, int inplace, int *_len); -Scheme_Object *(*scheme_make_vector)(int size, Scheme_Object *fill); +Scheme_Object *(*scheme_make_vector)(long size, Scheme_Object *fill); Scheme_Object *(*scheme_make_integer_value)(long i); Scheme_Object *(*scheme_make_integer_value_from_unsigned)(unsigned long i); Scheme_Object *(*scheme_make_integer_value_from_long_long)(mzlonglong i); diff --git a/src/mzscheme/src/strops.inc b/src/mzscheme/src/strops.inc index a04eb5fb38..1a252ae5f5 100644 --- a/src/mzscheme/src/strops.inc +++ b/src/mzscheme/src/strops.inc @@ -59,11 +59,11 @@ X(scheme_make, _string)(const Xchar *chars) } Scheme_Object * -X(scheme_alloc, _string)(int size, Xchar fill) +X(scheme_alloc, _string)(long size, Xchar fill) { Scheme_Object *str; Xchar *s; - int i; + long i; if (size < 0) { str = scheme_make_integer(size); diff --git a/src/mzscheme/src/vector.c b/src/mzscheme/src/vector.c index cc5e5e0432..faf8982094 100644 --- a/src/mzscheme/src/vector.c +++ b/src/mzscheme/src/vector.c @@ -123,10 +123,10 @@ scheme_init_vector (Scheme_Env *env) } Scheme_Object * -scheme_make_vector (int size, Scheme_Object *fill) +scheme_make_vector (long size, Scheme_Object *fill) { Scheme_Object *vec; - int i; + long i; if (size < 0) { vec = scheme_make_integer(size); @@ -331,7 +331,7 @@ list_to_vector (int argc, Scheme_Object *argv[]) Scheme_Object * scheme_list_to_vector (Scheme_Object *list) { - int len, i; + long len, i; Scheme_Object *vec, *orig = list; len = scheme_proper_list_length(list); From 60baa972f5947fe4c01624c122d8f5e121f9b25a Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 May 2009 11:11:47 +0000 Subject: [PATCH 04/11] fix docs to match revised vector-, string-, and byte-string-alloc C functions (merge to 4.2) svn: r14968 --- collects/scribblings/inside/values.scrbl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/collects/scribblings/inside/values.scrbl b/collects/scribblings/inside/values.scrbl index 53f9ea7173..e23b5df914 100644 --- a/collects/scribblings/inside/values.scrbl +++ b/collects/scribblings/inside/values.scrbl @@ -472,7 +472,7 @@ Like @cpp{scheme_make_sized_byte_string}, except the @var{len} non-zero, then @var{copy} must be non-zero.} @function[(Scheme_Object* scheme_alloc_byte_string - [int size] + [long size] [char fill])]{ Allocates a new Scheme byte string.} @@ -555,7 +555,7 @@ Like @cpp{scheme_make_sized_char_string}, except the @var{len} non-zero, then @var{copy} must be non-zero.} @function[(Scheme_Object* scheme_alloc_char_string - [int size] + [long size] [mzchar fill])]{ Allocates a new Scheme string.} @@ -636,7 +636,7 @@ Like @cpp{scheme_intern_exact_keyword}, but given a character array instead of a UTF-8-encoding byte array.} @function[(Scheme_Object* scheme_make_vector - [int size] + [long size] [Scheme_Object* fill])]{ Allocates a new vector.} From 2b80e7d68d793ccf8dab3fc53bad87a21aa69da9 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 May 2009 12:25:28 +0000 Subject: [PATCH 05/11] more random testing svn: r14971 --- collects/tests/mred/wxme-random.ss | 289 +++++++++++++++++++---------- 1 file changed, 187 insertions(+), 102 deletions(-) diff --git a/collects/tests/mred/wxme-random.ss b/collects/tests/mred/wxme-random.ss index 3e8b0df412..38e8e11224 100644 --- a/collects/tests/mred/wxme-random.ss +++ b/collects/tests/mred/wxme-random.ss @@ -3,111 +3,196 @@ (define seed (abs (current-milliseconds))) (random-seed seed) +(define use-nested? #t) + (error-print-context-length 100) -(define orig-t (new text%)) - -(define frame - (new (class frame% - (define/augment (on-close) (exit)) - (super-new)) - [label "Test"] - [width 300] - [height 400])) -(define canvas - (new editor-canvas% [parent frame] [editor orig-t])) - -(send frame show #t) - -(define (init t) - (send t set-max-undo-history 100)) -(init orig-t) - -(define (random-elem v) - (vector-ref v (random (vector-length v)))) - -(define (random-string) - (random-elem '#("a" "x\ny\nz\n" "(define (f x)\n (+ x x))\n" "hello there"))) - -(define seqs (make-hasheq)) - -(define ts-length 64) -(define ts-pos 0) -(define ts (make-vector ts-length orig-t)) -(define (add-t! t2) - (if (= ts-pos ts-length) - (let ([v ts]) - (set! ts (make-vector ts-length orig-t)) - (set! ts-pos 0) - (for ([t3 (in-vector v)]) - (when (zero? (random 2)) - (add-t! t3))) - (add-t! t2)) - (begin - (vector-set! ts ts-pos t2) - (set! ts-pos (add1 ts-pos))))) - ;; Don't paste before copying, because that interferes with replay (define copied? #f) -(define (set-copied?! t) - (unless (= (send t get-start-position) - (send t get-end-position)) - (set! copied? #t))) +(define copy-len 0) -(define actions - (vector - (lambda (t) (send t undo)) - (lambda (t) (send t redo)) - (lambda (t) (send t insert (random-string) (random (add1 (send t last-position))))) - (lambda (t) (send t insert "\t" (random (add1 (send t last-position))))) - (lambda (t) - (let ([pos (random (add1 (send t last-position)))]) - (send t delete pos (random (max 1 (- (send t last-position) pos)))))) - (lambda (t) - (send t begin-edit-sequence) - (hash-update! seqs t add1 0)) - (lambda (t) - (let loop () - (when (positive? (hash-ref seqs t 0)) - (send t end-edit-sequence) - (hash-update! seqs t sub1) - (when (zero? (random 2)) - (loop))))) - (lambda (t) - (let ([pos (random (add1 (send t last-position)))]) - (send t set-position pos (random (max 1 (- (send t last-position) pos)))))) - (lambda (t) (set-copied?! t) (send t copy)) - (lambda (t) (set-copied?! t) (send t cut)) - (lambda (t) (set-copied?! t) (send t kill)) - (lambda (t) (when copied? - (send t paste) - (when (zero? (random 4)) - (send t paste-next)))) - (lambda (t) (send t change-style (make-object style-delta% 'change-size (add1 (random 42))))) - (lambda (t) (send t change-style - (send (make-object style-delta%) set-delta-foreground (make-object color% - (random 256) - (random 256) - (random 256))))) - (lambda (t) - (let ([t2 (new text%)]) - (add-t! t2) - (init t2) - (send t insert (make-object editor-snip% t2)))) - (lambda (t) - (send t set-max-width (if (zero? (random 2)) - (+ 50.0 (/ (random 500) 10.0)) - 'none))) - (lambda (t) (yield (system-idle-evt))) - )) +(define (go pause x-pos) + (define orig-t (new text%)) + + (define frame + (new (class frame% + (define/augment (on-close) (exit)) + (super-new)) + [label "Test"] + [width 300] + [height 400] + [x x-pos])) + + (define canvas + (new editor-canvas% [parent frame] [editor orig-t])) + + (define _1 (send frame show #t)) + + (define (init t) + (send t set-max-undo-history 100)) + (define _2 (init orig-t)) + + (define (random-elem v) + (vector-ref v (random (vector-length v)))) + + (define (random-string) + (random-elem '#("a" "x\ny\nz\n" "(define (f x)\n (+ x x))\n" "hello there"))) + + (define seqs (make-hasheq)) + + (define ts-length 64) + (define ts-pos 0) + (define ts (make-vector ts-length orig-t)) + (define (add-t! t2) + (if (= ts-pos ts-length) + (let ([v ts]) + (set! ts (make-vector ts-length orig-t)) + (set! ts-pos 0) + (for ([t3 (in-vector v)]) + (when (zero? (random 2)) + (add-t! t3))) + (add-t! t2)) + (begin + (vector-set! ts ts-pos t2) + (set! ts-pos (add1 ts-pos))))) + + (define (set-copied?! t) + (let ([len (- (send t get-end-position) + (send t get-start-position))]) + (if (zero? len) + #f + (begin + (set! copy-len len) + (set! copied? #t) + #t)))) + + (define (maybe-convert) + (when (zero? (random 4)) + (let ([data (send the-clipboard get-clipboard-data "WXME" 0)]) + (send the-clipboard set-clipboard-client + (new (class clipboard-client% + (inherit add-type) + (super-new) + (add-type "WXME") + (define/override (get-data format) data))) + 0)))) + + (define actions + (vector + (lambda (t) (send t undo)) + (lambda (t) (send t redo)) + (lambda (t) (send t insert (random-string) (random (add1 (send t last-position))))) + (lambda (t) (send t insert "\t" (random (add1 (send t last-position))))) + (lambda (t) + (let ([pos (random (add1 (send t last-position)))]) + (send t delete pos (random (max 1 (- (send t last-position) pos)))))) + (lambda (t) + (send t begin-edit-sequence) + (hash-update! seqs t add1 0)) + (lambda (t) + (let loop () + (when (positive? (hash-ref seqs t 0)) + (send t end-edit-sequence) + (hash-update! seqs t sub1) + (when (zero? (random 2)) + (loop))))) + (lambda (t) + (let ([pos (random (add1 (send t last-position)))]) + (send t set-position pos (random (max 1 (- (send t last-position) pos)))))) + (lambda (t) (when (set-copied?! t) (send t copy) (maybe-convert))) + (lambda (t) (when (set-copied?! t) (send t cut) (maybe-convert))) + (lambda (t) (when copied? + (let ([s (send t get-start-position)] + [e (send t get-end-position)] + [l (send t last-position)]) + (send t paste) + (when copy-len + (unless (= (send t last-position) + (+ (- l (- e s)) copy-len)) + (error 'paste "length mismatch: [~s, ~s) in ~s + ~s ~s -> ~s" + s e l copy-len + (send the-clipboard get-clipboard-data "TEXT" 0) + (send t last-position))))) + (when (zero? (random 4)) + (set! copy-len #f) + (send t paste-next)))) + (lambda (t) (send t change-style (make-object style-delta% 'change-size (add1 (random 42))))) + (lambda (t) (send t change-style + (send (make-object style-delta%) set-delta-foreground (make-object color% + (random 256) + (random 256) + (random 256))))) + (lambda (t) + (when use-nested? + (let ([t2 (new text%)]) + (add-t! t2) + (init t2) + (send t insert (make-object editor-snip% t2))))) + (lambda (t) + (send t set-max-width (if (zero? (random 2)) + (+ 50.0 (/ (random 500) 10.0)) + 'none))) + (lambda (t) (yield (system-idle-evt))) + (lambda (t) (pause)) + )) + + (send canvas focus) + + (let loop () + (let ([act (random-elem actions)] + [t (if (zero? (random 2)) + orig-t + (random-elem ts))]) + (printf "~s: ~s ~s\n" seed (eq-hash-code t) act) + (act t) + (loop)))) + +(define (run-one) + (go void 50)) + +(define (run-two-concurrent) + (define sema-one (make-semaphore)) + (define sema-two (make-semaphore)) + + (define (make sema-this sema-other x-pos) + (parameterize ([current-eventspace (make-eventspace)]) + (queue-callback + (lambda () + (semaphore-wait sema-this) + (go (lambda () + (semaphore-post sema-other) + (semaphore-wait sema-this)) + x-pos))) + (current-eventspace))) + + (define e1 (make sema-one sema-two 50)) + (define e2 (make sema-two sema-one 350)) + (semaphore-post sema-one) + (application-quit-handler (lambda args (exit))) + (yield never-evt)) + +(define (run-two) + (define one-box (box #f)) + (define two-box (box #f)) + (define (make box-this box-other x-pos) + (let/ec esc + (call-with-continuation-prompt + (lambda () + (begin + (let/cc k + (set-box! box-this k) + (esc)) + (go (lambda () + (let/cc k + (set-box! box-this k) + ((unbox box-other)))) + x-pos)))))) + + (make one-box two-box 50) + (make two-box one-box 350) + (call-with-continuation-prompt + (lambda () + ((unbox one-box))))) + +(run-two) -(send canvas focus) - -(let loop () - (let ([act (random-elem actions)] - [t (if (zero? (random 2)) - orig-t - (random-elem ts))]) - (printf "~s: ~s ~s\n" seed (eq-hash-code t) act) - (act t) - (loop))) From da506ae4441ce196997130fd80f1da3f562a7525 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 May 2009 12:35:25 +0000 Subject: [PATCH 06/11] update history for 4.2 (merge/replace for 4.2) svn: r14972 --- doc/release-notes/mred/HISTORY.txt | 7 +++++++ doc/release-notes/mzscheme/HISTORY.txt | 13 +++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/release-notes/mred/HISTORY.txt b/doc/release-notes/mred/HISTORY.txt index 1fa020db74..736d6cfdff 100644 --- a/doc/release-notes/mred/HISTORY.txt +++ b/doc/release-notes/mred/HISTORY.txt @@ -1,3 +1,10 @@ +Version 4.2, May 2009 + +Ported the editor classes (text%, snip%, editor-canvas%, etc.) from + C++ to Scheme + +---------------------------------------------------------------------- + Version 4.1.5, March 2009 Minor bug fixes diff --git a/doc/release-notes/mzscheme/HISTORY.txt b/doc/release-notes/mzscheme/HISTORY.txt index cb86c4a169..e1260f62fc 100644 --- a/doc/release-notes/mzscheme/HISTORY.txt +++ b/doc/release-notes/mzscheme/HISTORY.txt @@ -1,11 +1,8 @@ -Version 4.1.5.6 -Added identifier-prune-lexical-context and quote-syntax/prune - -Version 4.1.5.4 +Version 4.2, May 2009 Changed visiting of modules at phase N to happen only when compilation at phase N starts - -Version 4.1.5.3 +Changed expander to detect a reaname transformer and install a + free-identifier=? syntax-object equivalence Changed provide to convert an exported rename transformer to its free-identifier=? target Added 'not-free-identifier=? syntax property to disable free-identifier=? @@ -17,10 +14,6 @@ Changed current-process-milliseconds to accept a thread argument Added hash-hash-key?, hash-ref! Added in-sequences, in-cycle -Version 4.1.5.2 -Changed expander to detect a reaname transformer and install a - free-identifier=? syntax-object equivalence - Version 4.1.5, March 2009 Allow infix notation for prefab structure literals Change quasiquote so that unquote works in value positions of #hash From d051e24ef2c94565bce10d470dd5da9970d42d77 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 May 2009 12:35:52 +0000 Subject: [PATCH 07/11] restore 4.2.0.2 change note svn: r14973 --- doc/release-notes/mzscheme/HISTORY.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/release-notes/mzscheme/HISTORY.txt b/doc/release-notes/mzscheme/HISTORY.txt index e1260f62fc..e7fbc38fce 100644 --- a/doc/release-notes/mzscheme/HISTORY.txt +++ b/doc/release-notes/mzscheme/HISTORY.txt @@ -1,3 +1,6 @@ +Version 4.2.0.2 +Added identifier-prune-lexical-context and quote-syntax/prune + Version 4.2, May 2009 Changed visiting of modules at phase N to happen only when compilation at phase N starts From 39d99a53fff43bc41d1a40d5d6d0357f880f9cf3 Mon Sep 17 00:00:00 2001 From: John Clements Date: Sun, 24 May 2009 18:19:06 +0000 Subject: [PATCH 08/11] 4.2 release svn: r14974 --- doc/release-notes/stepper/HISTORY.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/release-notes/stepper/HISTORY.txt b/doc/release-notes/stepper/HISTORY.txt index a97dcc2374..939e88b310 100644 --- a/doc/release-notes/stepper/HISTORY.txt +++ b/doc/release-notes/stepper/HISTORY.txt @@ -1,6 +1,11 @@ Stepper ------- +Changes for v4.2: + +It's now possible to jump to the evaluation of a selected expression in +the stepper. + Changes for v4.1.5: Minor bug fixes. From 1246aeb786ce2a04bc761c18289c94f4d94ff6db Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 25 May 2009 01:03:41 +0000 Subject: [PATCH 09/11] typo (PR10258) svn: r14975 --- collects/scribblings/reference/bytes.scrbl | 2 +- collects/scribblings/reference/strings.scrbl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/collects/scribblings/reference/bytes.scrbl b/collects/scribblings/reference/bytes.scrbl index d5e5fddca3..f3d9465309 100644 --- a/collects/scribblings/reference/bytes.scrbl +++ b/collects/scribblings/reference/bytes.scrbl @@ -95,7 +95,7 @@ positions are initialized with the given @scheme[b]s. bytes long, and that contains the same bytes as @scheme[bstr] from @scheme[start] inclusive to @scheme[end] exclusive. The @scheme[start] and @scheme[end] arguments must be less than the length of - @scheme[bstr], and @scheme[end] must be greater than or equal to @scheme[bstr], + @scheme[bstr], and @scheme[end] must be greater than or equal to @scheme[start], otherwise the @exnraise[exn:fail:contract]. @mz-examples[(subbytes #"Apple" 1 3) diff --git a/collects/scribblings/reference/strings.scrbl b/collects/scribblings/reference/strings.scrbl index 0bd7336473..de46ec1daf 100644 --- a/collects/scribblings/reference/strings.scrbl +++ b/collects/scribblings/reference/strings.scrbl @@ -88,7 +88,7 @@ Returns an immutable string with the same content as characters long, and that contains the same characters as @scheme[str] from @scheme[start] inclusive to @scheme[end] exclusive. The @scheme[start] and @scheme[end] arguments must be less than the length of - @scheme[str], and @scheme[end] must be greater than or equal to @scheme[str], + @scheme[str], and @scheme[end] must be greater than or equal to @scheme[start], otherwise the @exnraise[exn:fail:contract]. @mz-examples[(substring "Apple" 1 3) From 90040aac2b57d18fc0e2ce650db685ce246c72ed Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 25 May 2009 02:56:24 +0000 Subject: [PATCH 10/11] another typo from PR10258 (less than or equal to the string length) svn: r14976 --- collects/scribblings/reference/bytes.scrbl | 14 +++++++------- collects/scribblings/reference/strings.scrbl | 11 ++++++----- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/collects/scribblings/reference/bytes.scrbl b/collects/scribblings/reference/bytes.scrbl index f3d9465309..439c21cc3f 100644 --- a/collects/scribblings/reference/bytes.scrbl +++ b/collects/scribblings/reference/bytes.scrbl @@ -90,13 +90,13 @@ positions are initialized with the given @scheme[b]s. @defproc[(subbytes [bstr bytes?] [start exact-nonnegative-integer?] - [end exact-nonnegative-integer? (bytes-length str)]) bytes?]{ - Returns a new mutable byte string that is @scheme[(- end start)] - bytes long, and that contains the same bytes - as @scheme[bstr] from @scheme[start] inclusive to @scheme[end] exclusive. The - @scheme[start] and @scheme[end] arguments must be less than the length of - @scheme[bstr], and @scheme[end] must be greater than or equal to @scheme[start], - otherwise the @exnraise[exn:fail:contract]. + [end exact-nonnegative-integer? (bytes-length str)]) bytes?]{ Returns + a new mutable byte string that is @scheme[(- end start)] bytes long, + and that contains the same bytes as @scheme[bstr] from @scheme[start] + inclusive to @scheme[end] exclusive. The @scheme[start] and + @scheme[end] arguments must be less than or equal to the length of + @scheme[bstr], and @scheme[end] must be greater than or equal to + @scheme[start], otherwise the @exnraise[exn:fail:contract]. @mz-examples[(subbytes #"Apple" 1 3) (subbytes #"Apple" 1)]} diff --git a/collects/scribblings/reference/strings.scrbl b/collects/scribblings/reference/strings.scrbl index de46ec1daf..020caddb3c 100644 --- a/collects/scribblings/reference/strings.scrbl +++ b/collects/scribblings/reference/strings.scrbl @@ -85,11 +85,12 @@ Returns an immutable string with the same content as @defproc[(substring [str string?] [start exact-nonnegative-integer?] [end exact-nonnegative-integer? (string-length str)]) string?]{ Returns a new mutable string that is @scheme[(- end start)] - characters long, and that contains the same characters - as @scheme[str] from @scheme[start] inclusive to @scheme[end] exclusive. The - @scheme[start] and @scheme[end] arguments must be less than the length of - @scheme[str], and @scheme[end] must be greater than or equal to @scheme[start], - otherwise the @exnraise[exn:fail:contract]. + characters long, and that contains the same characters as + @scheme[str] from @scheme[start] inclusive to @scheme[end] exclusive. + The @scheme[start] and @scheme[end] arguments must be less than or + equal to the length of @scheme[str], and @scheme[end] must be greater + than or equal to @scheme[start], otherwise the + @exnraise[exn:fail:contract]. @mz-examples[(substring "Apple" 1 3) (substring "Apple" 1)]} From 4a6eaa1dd59e2b4ff5e6dfb76c4ab6bbbf1f2fad Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 25 May 2009 07:50:21 +0000 Subject: [PATCH 11/11] Welcome to a new PLT day. svn: r14977 --- collects/repos-time-stamp/stamp.ss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/repos-time-stamp/stamp.ss b/collects/repos-time-stamp/stamp.ss index 0fc1ad6b7a..024e3745eb 100644 --- a/collects/repos-time-stamp/stamp.ss +++ b/collects/repos-time-stamp/stamp.ss @@ -1 +1 @@ -#lang scheme/base (provide stamp) (define stamp "24may2009") +#lang scheme/base (provide stamp) (define stamp "25may2009")