fixes for `scribble/srcdoc'
Use the new `relative-in' form to make imports resolve correctly when they are shifted among modules. original commit: 0c95475f4ffbc343291e5529a6f4b32a91159ef1
This commit is contained in:
parent
24acfab0ad
commit
2cdcf15d24
|
@ -22,7 +22,8 @@
|
||||||
#'(xwrap (... ...) id))
|
#'(xwrap (... ...) id))
|
||||||
;; delayed:
|
;; delayed:
|
||||||
(with-syntax ([(_ xwrap (... ...)) stx]
|
(with-syntax ([(_ xwrap (... ...)) stx]
|
||||||
[(reqs ((id d) (... ...))) (get-docs)])
|
[(reqs ((id d) (... ...))) (syntax-local-introduce
|
||||||
|
(datum->syntax #f (get-docs)))])
|
||||||
#`(begin
|
#`(begin
|
||||||
(require . reqs)
|
(require . reqs)
|
||||||
(xwrap (... ...) (list (cons 'id d) (... ...)))))))
|
(xwrap (... ...) (list (cons 'id d) (... ...)))))))
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
(require racket/contract/base
|
(require racket/contract/base
|
||||||
(for-syntax racket/base
|
(for-syntax racket/base
|
||||||
racket/require-transform
|
racket/require-transform
|
||||||
racket/provide-transform))
|
racket/provide-transform
|
||||||
|
syntax/private/modcollapse-noctc))
|
||||||
|
|
||||||
(provide for-doc require/doc
|
(provide for-doc require/doc
|
||||||
provide/doc ; not needed anymore
|
provide/doc ; not needed anymore
|
||||||
|
@ -21,9 +22,24 @@
|
||||||
(define (add-requires!/decl specs)
|
(define (add-requires!/decl specs)
|
||||||
(unless delayed?
|
(unless delayed?
|
||||||
(syntax-local-lift-module-end-declaration
|
(syntax-local-lift-module-end-declaration
|
||||||
#`(begin-for-syntax (add-requires! (quote-syntax #,specs)))))
|
#`(begin-for-syntax (add-relative-requires! (#%variable-reference)
|
||||||
|
(quote-syntax #,specs)))))
|
||||||
(add-requires! (syntax-local-introduce specs)))
|
(add-requires! (syntax-local-introduce specs)))
|
||||||
|
|
||||||
|
(define (add-relative-requires! varref specs)
|
||||||
|
(define mpi (variable-reference->module-path-index varref))
|
||||||
|
(define-values (name base) (module-path-index-split mpi))
|
||||||
|
(if name
|
||||||
|
(add-requires!
|
||||||
|
(with-syntax ([(spec ...) specs]
|
||||||
|
[rel-to (collapse-module-path-index
|
||||||
|
mpi
|
||||||
|
(build-path (or (current-load-relative-directory)
|
||||||
|
(current-directory))
|
||||||
|
"here.rkt"))])
|
||||||
|
#'((relative-in rel-to spec) ...)))
|
||||||
|
(add-requires! specs)))
|
||||||
|
|
||||||
(define (add-requires! specs)
|
(define (add-requires! specs)
|
||||||
(set! requires (cons specs requires)))
|
(set! requires (cons specs requires)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user