mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
chibi-doc traverses include-library-declarations.
This commit is contained in:
parent
4e52ffc411
commit
7c181ca3fe
4 changed files with 18 additions and 4 deletions
|
@ -790,6 +790,9 @@ div#footer {padding-bottom: 50px}
|
|||
((find-module-file (module-name->file mod-name))
|
||||
=> (lambda (f) (reverse (extract-file-docs f defs strict? 'module))))
|
||||
(else '()))
|
||||
(reverse (append-map (lambda (x)
|
||||
(extract-file-docs x defs strict? 'module))
|
||||
(module-include-library-declarations mod)))
|
||||
(reverse (append-map (lambda (x) (extract-file-docs x defs strict?))
|
||||
(module-includes mod)))
|
||||
(reverse (append-map (lambda (x) (extract-file-docs x defs strict? 'ffi))
|
||||
|
|
|
@ -43,12 +43,18 @@
|
|||
(lp (cdr ls) (append (reverse (cdar ls)) res)))
|
||||
(else (lp (cdr ls) res))))))
|
||||
|
||||
(define (module-includes mod)
|
||||
(define (module-extract-declaration-files mod decls)
|
||||
(let* ((mod (if (module? mod) mod (find-module mod)))
|
||||
(dir (module-dir mod)))
|
||||
(define (module-file f)
|
||||
(find-module-file (string-append dir f)))
|
||||
(map module-file (reverse (module-metas mod '(include))))))
|
||||
(map module-file (reverse (module-metas mod decls)))))
|
||||
|
||||
(define (module-includes mod)
|
||||
(module-extract-declaration-files mod '(include)))
|
||||
|
||||
(define (module-include-library-declarations mod)
|
||||
(module-extract-declaration-files mod '(include-library-declarations)))
|
||||
|
||||
(define (module-shared-includes mod)
|
||||
(let* ((mod (if (module? mod) mod (find-module mod)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
(define-library (chibi modules)
|
||||
(export module-name module-dir module-includes module-shared-includes
|
||||
module-include-library-declarations
|
||||
module-ast module-ast-set! module-ref module-contains?
|
||||
analyze-module containing-module load-module module-exports
|
||||
module-name->file procedure-analysis find-module
|
||||
|
|
|
@ -268,7 +268,7 @@
|
|||
;; Generate the library wrapper.
|
||||
(set! *this-path*
|
||||
(cons (string-concatenate
|
||||
(module-name->strings (reverse (cdr (reverse name))) '()))
|
||||
(module-name->strings (cdr (reverse name)) '()))
|
||||
*this-path*))
|
||||
`(,_let ((,tmp ,this-module))
|
||||
(,_define (rewrite-export x)
|
||||
|
@ -338,7 +338,11 @@
|
|||
(error "couldn't find include-library-declarations file" file)))))
|
||||
(else
|
||||
`(,(rename 'meta-begin)
|
||||
,@(reverse res))))))))
|
||||
,@(reverse res)
|
||||
(,(rename 'set!) ,(rename '*this-module*)
|
||||
(,(rename 'cons) (,(rename 'quote)
|
||||
,(cons 'include-library-declarations (cdr expr)))
|
||||
,(rename '*this-module*))))))))))
|
||||
|
||||
(define-syntax define-meta-primitive
|
||||
(er-macro-transformer
|
||||
|
|
Loading…
Add table
Reference in a new issue