mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 06:41:13 +02:00
Make `include' tail-recursive.
* module/ice-9/psyntax.scm (include)[read-file]: Make tail-recursive. * module/ice-9/psyntax-pp.scm: Regenerate.
This commit is contained in:
parent
165a8643ae
commit
df0f529585
2 changed files with 7771 additions and 7781 deletions
File diff suppressed because it is too large
Load diff
|
@ -2749,11 +2749,14 @@
|
||||||
(define read-file
|
(define read-file
|
||||||
(lambda (fn k)
|
(lambda (fn k)
|
||||||
(let ((p (open-input-file fn)))
|
(let ((p (open-input-file fn)))
|
||||||
(let f ((x (read p)))
|
(let f ((x (read p))
|
||||||
|
(result '()))
|
||||||
(if (eof-object? x)
|
(if (eof-object? x)
|
||||||
(begin (close-input-port p) '())
|
(begin
|
||||||
(cons (datum->syntax k x)
|
(close-input-port p)
|
||||||
(f (read p))))))))
|
(reverse result))
|
||||||
|
(f (read p)
|
||||||
|
(cons (datum->syntax k x) result)))))))
|
||||||
(syntax-case x ()
|
(syntax-case x ()
|
||||||
((k filename)
|
((k filename)
|
||||||
(let ((fn (syntax->datum #'filename)))
|
(let ((fn (syntax->datum #'filename)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue