about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-01-01 14:30:45 +0000
committerArun Isaac2026-09-04 16:18:14 +0100
commit2c75e1a6167c5c5f72f3f360b321f12b937663dc (patch)
tree543a6144bf3b41f607a356630b26664f535642d3
parent1a21eca5c70f2002dacdd2aa5f51ac43d15bae72 (diff)
downloadravanan-2c75e1a6167c5c5f72f3f360b321f12b937663dc.tar.gz
ravanan-2c75e1a6167c5c5f72f3f360b321f12b937663dc.tar.lz
ravanan-2c75e1a6167c5c5f72f3f360b321f12b937663dc.zip
work/command-line-tool: Move call-with-current-directory out.
Move call-with-current-directory to (ravanan work utils). It is a more
generally useful function and belongs there.
-rw-r--r--ravanan/work/command-line-tool.scm9
-rw-r--r--ravanan/work/utils.scm11
2 files changed, 10 insertions, 10 deletions
diff --git a/ravanan/work/command-line-tool.scm b/ravanan/work/command-line-tool.scm
index cb945f9..87d23fc 100644
--- a/ravanan/work/command-line-tool.scm
+++ b/ravanan/work/command-line-tool.scm
@@ -38,7 +38,6 @@
             unsupported-uri-scheme?
             unsupported-uri-scheme-scheme
 
-            call-with-current-directory
             object-type
             match-type
             glob-match-type
@@ -66,14 +65,6 @@
   unsupported-uri-scheme unsupported-uri-scheme?
   (scheme unsupported-uri-scheme-scheme))
 
-(define (call-with-current-directory curdir thunk)
-  "Call THUNK with current directory set to CURDIR. Restore current
-directory after THUNK returns."
-  (let ((original-current-directory (getcwd)))
-    (dynamic-wind (cut chdir curdir)
-                  thunk
-                  (cut chdir original-current-directory))))
-
 (define (object-type obj)
   "Return the type of @var{obj}."
   (cond
diff --git a/ravanan/work/utils.scm b/ravanan/work/utils.scm
index df1cf21..455fd7e 100644
--- a/ravanan/work/utils.scm
+++ b/ravanan/work/utils.scm
@@ -1,5 +1,5 @@
 ;;; ravanan --- High-reproducibility CWL runner powered by Guix
-;;; Copyright © 2024, 2025 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2024–2026 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of ravanan.
 ;;;
@@ -34,6 +34,7 @@
             assoc-set
             json-ref
             canonicalize-json
+            call-with-current-directory
             call-with-temporary-directory
             call-with-input-pipe
             call-with-atomic-output-file))
@@ -104,6 +105,14 @@ order of keys."
    ;; Atoms
    (else tree)))
 
+(define (call-with-current-directory curdir thunk)
+  "Call THUNK with current directory set to CURDIR. Restore current
+directory after THUNK returns."
+  (let ((original-current-directory (getcwd)))
+    (dynamic-wind (cut chdir curdir)
+                  thunk
+                  (cut chdir original-current-directory))))
+
 (define* (call-with-temporary-directory proc
                                         #:optional (parent-directory (getcwd)))
   "Call @var{proc} with a new temporary directory in