add module->compiled-module-expression, which is used in Scribble's traversal of module paths to find documented bindings
svn: r17576 original commit: 4fedeeaf7a7bfd68132524536a9d692ddc8f318b
This commit is contained in:
parent
227924d8da
commit
3573c015f8
|
@ -17,6 +17,10 @@
|
|||
(module-path-index-join name
|
||||
(module-path-index-rejoin base rel-to))])))
|
||||
|
||||
(define (try thunk)
|
||||
(with-handlers ([exn:fail? (lambda (exn) #f)])
|
||||
(thunk)))
|
||||
|
||||
(define (find-scheme-tag part ri stx/binding phase-level)
|
||||
;; The phase-level argument is used only when `stx/binding'
|
||||
;; is an identifier.
|
||||
|
@ -106,12 +110,21 @@
|
|||
rmp
|
||||
(lambda ()
|
||||
(let-values ([(valss stxess)
|
||||
(with-handlers ([exn:fail?
|
||||
(lambda (exn)
|
||||
(values null null))])
|
||||
(module-compiled-exports
|
||||
(get-module-code (resolved-module-path-name rmp)
|
||||
#:choose (lambda (src zo so) 'zo))))])
|
||||
(let ([exp
|
||||
(or
|
||||
(try
|
||||
(lambda ()
|
||||
;; First, try using bytecode:
|
||||
(get-module-code (resolved-module-path-name rmp)
|
||||
#:choose (lambda (src zo so) 'zo))))
|
||||
(try
|
||||
(lambda ()
|
||||
;; Bytecode not available. Declaration in the
|
||||
;; current namespace?
|
||||
(module->compiled-module-expression rmp))))])
|
||||
(if exp
|
||||
(module-compiled-exports exp)
|
||||
(values null null)))])
|
||||
(let ([t
|
||||
;; Merge the two association lists:
|
||||
(let loop ([base valss]
|
||||
|
|
Loading…
Reference in New Issue
Block a user