diff --git a/collects/scribble/basic.ss b/collects/scribble/basic.ss index 0aefa064b2..ddf67325db 100644 --- a/collects/scribble/basic.ss +++ b/collects/scribble/basic.ss @@ -104,7 +104,7 @@ ;; Derive the name from the module path: (let ([p (collapse-module-path-index mod - (current-directory))]) + (build-path (current-directory) "dummy"))]) (if (path? p) ;; If we got a path back anyway, then it's best to use the resolved ;; name; if the current directory has changed since we diff --git a/collects/syntax/modcollapse.ss b/collects/syntax/modcollapse.ss index 774083c8b8..c90c6c9372 100644 --- a/collects/syntax/modcollapse.ss +++ b/collects/syntax/modcollapse.ss @@ -45,11 +45,18 @@ (define (combine-relative-elements elements) + (define (extract-base relto) + (let-values ([(base n d?) (split-path relto)]) + (if (eq? base 'relative) + 'same + (if (not base) + relto ; strange case: relto is a root directory + base)))) + ;; Used for 'file paths, so it's platform specific: (define (attach-to-relative-path relto) (apply build-path - (let-values ([(base n d?) (split-path relto)]) - (if (eq? base 'relative) 'same base)) + (extract-base relto) (map (lambda (i) (if (bytes? i) (bytes->path i) i)) elements))) @@ -58,8 +65,7 @@ (cond [(or (path? relto-mp) (and (string? relto-mp) (ormap path? elements))) (apply build-path - (let-values ([(base name dir?) (split-path relto-mp)]) - (if (eq? base 'relative) 'same base)) + (extract-base relto-mp) (map (lambda (x) (if (bytes? x) (bytes->path x) x)) elements))] [(string? relto-mp)