fixes for `scribble/srcdoc'
Use the new `relative-in' form to make imports resolve correctly when they are shifted among modules.
This commit is contained in:
parent
281d208e84
commit
0c95475f4f
|
@ -76,7 +76,7 @@ all of the names in the tools library, for use defining keybindings
|
|||
[_
|
||||
(raise-syntax-error 'provide/dr/doc "unknown thing" case)])])
|
||||
(with-syntax ([mid (munge-id #'id)])
|
||||
#'(thing-doc mid ctc ("This is provided for backwards compatibility; new code should use " (racket id) " instead.")))))
|
||||
#`(thing-doc mid ctc (@undefined-const "This is provided for backwards compatibility; new code should use " (racket id) " instead.")))))
|
||||
(syntax->list #'(case ...)))])])
|
||||
(syntax-case stx ()
|
||||
[(_ rst ...)
|
||||
|
|
|
@ -22,7 +22,8 @@
|
|||
#'(xwrap (... ...) id))
|
||||
;; delayed:
|
||||
(with-syntax ([(_ xwrap (... ...)) stx]
|
||||
[(reqs ((id d) (... ...))) (get-docs)])
|
||||
[(reqs ((id d) (... ...))) (syntax-local-introduce
|
||||
(datum->syntax #f (get-docs)))])
|
||||
#`(begin
|
||||
(require . reqs)
|
||||
(xwrap (... ...) (list (cons 'id d) (... ...)))))))
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
(require racket/contract/base
|
||||
(for-syntax racket/base
|
||||
racket/require-transform
|
||||
racket/provide-transform))
|
||||
racket/provide-transform
|
||||
syntax/private/modcollapse-noctc))
|
||||
|
||||
(provide for-doc require/doc
|
||||
provide/doc ; not needed anymore
|
||||
|
@ -21,9 +22,24 @@
|
|||
(define (add-requires!/decl specs)
|
||||
(unless delayed?
|
||||
(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)))
|
||||
|
||||
(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)
|
||||
(set! requires (cons specs requires)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user