From 77cd7c51c465095364d185274aa4afdcc51083c3 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Tue, 11 Jul 2023 15:24:39 +0300 Subject: Create a new procedure for shadowing a file port * dump/documentation.scm (dump): Export call-with-documentation. (call-with-documentation): New function. Signed-off-by: Munyoki Kilyungi --- dump/documentation.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'dump') diff --git a/dump/documentation.scm b/dump/documentation.scm index 4c0fd88..81eec43 100644 --- a/dump/documentation.scm +++ b/dump/documentation.scm @@ -4,7 +4,9 @@ dump-configuration? dump-configuration-triples? dump-configuration-table-metadata? - dump-configuration-path)) + dump-configuration-path + call-with-documentation)) + (define-immutable-record-type (%dump-configuration triples? table-metadata? path) @@ -22,3 +24,12 @@ (%dump-configuration triples? table-metadata? path)) +(define (call-with-documentation conf proc) + (let ((port #f) + (path (dump-configuration-path conf))) + (when path + (dynamic-wind + (lambda () + (set! port (open-file path "w"))) + (cut proc port) + (cut close port))))) -- cgit v1.2.3