mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 14:21:10 +02:00
(ferret): New proc.
(grok): Use `ferret'.
This commit is contained in:
parent
a56e05676f
commit
e0902d958d
1 changed files with 10 additions and 3 deletions
|
@ -97,7 +97,7 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(format #t " \"~A\" -> \"~A\"~A;\n" module use etc-spec))))
|
(format #t " \"~A\" -> \"~A\"~A;\n" module use etc-spec))))
|
||||||
|
|
||||||
(define (header)
|
(define (header)
|
||||||
(format #t "digraph use2dot {")
|
(format #t "digraph use2dot {\n")
|
||||||
(for-each (lambda (s) (format #t " ~A;\n" s))
|
(for-each (lambda (s) (format #t " ~A;\n" s))
|
||||||
(map vv `((label . ,(q "Guile Module Dependencies"))
|
(map vv `((label . ,(q "Guile Module Dependencies"))
|
||||||
;(rankdir . LR)
|
;(rankdir . LR)
|
||||||
|
@ -106,6 +106,12 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
;(nodesep . ,(q "0.05"))
|
;(nodesep . ,(q "0.05"))
|
||||||
))))
|
))))
|
||||||
|
|
||||||
|
(define (ferret use) ; handle "((foo bar) :select ...)"
|
||||||
|
(let ((maybe (car use)))
|
||||||
|
(if (list? maybe)
|
||||||
|
maybe
|
||||||
|
use)))
|
||||||
|
|
||||||
(define (grok filename)
|
(define (grok filename)
|
||||||
(let* ((p (open-file filename "r"))
|
(let* ((p (open-file filename "r"))
|
||||||
(next (lambda () (read p)))
|
(next (lambda () (read p)))
|
||||||
|
@ -121,7 +127,7 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(or (null? ls)
|
(or (null? ls)
|
||||||
(case (car ls)
|
(case (car ls)
|
||||||
((:use-module)
|
((:use-module)
|
||||||
(spew module (cadr ls))
|
(spew module (ferret (cadr ls)))
|
||||||
(loop (cddr ls)))
|
(loop (cddr ls)))
|
||||||
((:autoload)
|
((:autoload)
|
||||||
(spew module (cadr ls)
|
(spew module (cadr ls)
|
||||||
|
@ -133,7 +139,8 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
||||||
(else (loop (cdr ls))))))))
|
(else (loop (cdr ls))))))))
|
||||||
((use-modules)
|
((use-modules)
|
||||||
(for-each (lambda (use)
|
(for-each (lambda (use)
|
||||||
(spew (or curmod default-module) use))
|
(spew (or curmod default-module)
|
||||||
|
(ferret use)))
|
||||||
(cdr form)))
|
(cdr form)))
|
||||||
((load primitive-load)
|
((load primitive-load)
|
||||||
(spew (or curmod default-module)
|
(spew (or curmod default-module)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue