diff --git a/collects/meta/drdr/analyze.rkt b/collects/meta/drdr/analyze.rkt index ddcb709789..c154ae8b8a 100644 --- a/collects/meta/drdr/analyze.rkt +++ b/collects/meta/drdr/analyze.rkt @@ -277,6 +277,8 @@ (lambda () #;(notify! "Analyzing log: ~S" log-pth) (match (read-cache log-pth) + [(? eof-object?) + #f] [(and log (struct status (start end command-line output-log))) (define dur (status-duration log)) (define any-stderr? (ormap stderr? output-log)) @@ -324,8 +326,11 @@ (dir-rendering pth) (log-rendering pth))) (match (next-rendering) - [(struct rendering (pth-start pth-end pth-dur pth-timeouts pth-unclean-exits pth-stderrs _pth-responsible pth-changed)) + [#f + acc] + [(and n (struct rendering (pth-start pth-end pth-dur pth-timeouts pth-unclean-exits pth-stderrs _pth-responsible pth-changed))) (match acc + [#f n] [(struct rendering (acc-start acc-end acc-dur acc-timeouts acc-unclean-exits acc-stderrs acc-responsible acc-changed)) (make-rendering (min pth-start acc-start) (max pth-end acc-end) diff --git a/collects/racket/match/compiler.rkt b/collects/racket/match/compiler.rkt index 0c54406f20..1300140ef0 100644 --- a/collects/racket/match/compiler.rkt +++ b/collects/racket/match/compiler.rkt @@ -447,7 +447,8 @@ ;; and compile each block with a reference to its continuation [else (let*-values - ([(rows vars) (reorder-columns rows vars)] + (;; XXX This is broken. + #;[(rows vars) (reorder-columns rows vars)] [(fns) (let loop ([blocks (reverse (split-rows rows))] [esc esc] [acc null]) (if (null? blocks) diff --git a/collects/scribblings/slideshow/picts.scrbl b/collects/scribblings/slideshow/picts.scrbl index 6ad76a4e60..432f077766 100644 --- a/collects/scribblings/slideshow/picts.scrbl +++ b/collects/scribblings/slideshow/picts.scrbl @@ -253,7 +253,9 @@ The @racket[angle] determines how much the rectangle is rotated, in radians. } -@defproc[(bitmap [img (or/c path-string? (is-a?/c bitmap%))]) +@defproc[(bitmap [img (or/c path-string? + (is-a?/c bitmap%) + (is-a?/c image-snip%))]) pict]{ A pict that display a bitmap. When a path is provided, the image is diff --git a/collects/tests/match/plt-match-tests.rkt b/collects/tests/match/plt-match-tests.rkt index 9a77411425..053c7a2187 100644 --- a/collects/tests/match/plt-match-tests.rkt +++ b/collects/tests/match/plt-match-tests.rkt @@ -171,6 +171,22 @@ [_ #f]))) (test-case "app pattern" (check = 4 (match 3 [(app add1 y) y]))) + (test-case "app pattern (step 1)" + (check = 2 (match (list 1 3) + [(list 0 (app add1 y)) y] + [(list 1 (app sub1 y)) y]))) + (test-case "app pattern (step 2a)" + (check = 2 (match (cons 1 3) + [(cons 0 (app error y)) y] + [(cons 1 (app sub1 y)) y]))) + (test-case "app pattern (step 2a)" + (check = 2 (match (vector 1 3) + [(vector 0 (app error y)) y] + [(vector 1 (app sub1 y)) y]))) + (test-case "app pattern (step 2)" + (check = 2 (match (list 1 3) + [(list 0 (app error y)) y] + [(list 1 (app sub1 y)) y]))) (test-case "struct patterns" (let () (define-struct point (x y))