mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 22:10:21 +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
|
||||
(lambda (fn k)
|
||||
(let ((p (open-input-file fn)))
|
||||
(let f ((x (read p)))
|
||||
(let f ((x (read p))
|
||||
(result '()))
|
||||
(if (eof-object? x)
|
||||
(begin (close-input-port p) '())
|
||||
(cons (datum->syntax k x)
|
||||
(f (read p))))))))
|
||||
(begin
|
||||
(close-input-port p)
|
||||
(reverse result))
|
||||
(f (read p)
|
||||
(cons (datum->syntax k x) result)))))))
|
||||
(syntax-case x ()
|
||||
((k filename)
|
||||
(let ((fn (syntax->datum #'filename)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue