From 0ace11ddcdd4da9448ae8a9eaea73d9e7f654ad0 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 10 Feb 2017 20:41:58 -0600 Subject: [PATCH] fix bug in build-source-location closes #1605 --- pkgs/racket-test-core/tests/racket/srcloc.rktl | 8 +++++++- racket/collects/syntax/srcloc.rkt | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/srcloc.rktl b/pkgs/racket-test-core/tests/racket/srcloc.rktl index 6ee1a58d05..539e57212b 100644 --- a/pkgs/racket-test-core/tests/racket/srcloc.rktl +++ b/pkgs/racket-test-core/tests/racket/srcloc.rktl @@ -1,4 +1,3 @@ - (load-relative "../racket/loadtest.rktl") (Section 'srcloc) @@ -302,4 +301,11 @@ (test "::3: " source-location->prefix (datum->syntax #f null (list #f #f #f 3 #f))) (test "::3-7: " source-location->prefix (datum->syntax #f null (list #f #f #f 3 4))) +(test (srcloc 'm #f #f #f #f) + build-source-location (srcloc 'm #f #f #f 0) (srcloc 'm #f #f #f 0)) +(test (srcloc 'm 1 2 3 0) + build-source-location (srcloc 'm 1 2 3 0) (srcloc 'm #f #f #f 0)) +(test (srcloc 'm 1 2 3 0) + build-source-location (srcloc 'm #f #f #f 0) (srcloc 'm 1 2 3 0)) + (report-errs) diff --git a/racket/collects/syntax/srcloc.rkt b/racket/collects/syntax/srcloc.rkt index e81420e9d1..537d62d9d6 100644 --- a/racket/collects/syntax/srcloc.rkt +++ b/racket/collects/syntax/srcloc.rkt @@ -243,7 +243,10 @@ (values pos (- end pos)))] [span1 (values pos (- (+ pos1 span1) pos))] [span2 (values pos (- (+ pos2 span2) pos))] - [else (values pos #f)]))])]) + [else (values pos #f)]))] + [pos1 (values pos1 span1)] + [pos2 (values pos2 span2)] + [else (values #f #f)])]) (good #f src line col pos span)) (good #f #f #f #f #f #f)))