From 1eb3133355ef14d6d4c8648504a7e013338779a8 Mon Sep 17 00:00:00 2001
From: Simon Tournier <zimon.toutoune@gmail.com>
Date: Thu, 2 Nov 2023 21:25:43 +0100
Subject: scripts: edit: Fix relative file-name with 'load-path' option.

* guix/scripts/edit.scm (search-path*): Return 'file' if exists when
'search-path' fails.

Change-Id: I891d63d0d28577a7d1732fc59435828ecc0a5c5a
---
 guix/scripts/edit.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm
index ff2d529bcf..b7b4cd2514 100644
--- a/guix/scripts/edit.scm
+++ b/guix/scripts/edit.scm
@@ -64,7 +64,11 @@ (define %editor
 
 (define (search-path* path file)
   "Like 'search-path' but exit if FILE is not found."
-  (let ((absolute-file-name (search-path path file)))
+  (let ((absolute-file-name (or (search-path path file)
+                                ;; It could be that FILE is a relative name
+                                ;; i.e., not relative to an element of PATH.
+                                (and (file-exists? file)
+                                     file))))
     (unless absolute-file-name
       ;; Shouldn't happen unless somebody fiddled with the 'location' field.
       (leave (G_ "file '~a' not found in search path ~s~%")
-- 
cgit v1.2.3