From patchwork Thu Nov 2 20:34:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Tournier X-Patchwork-Id: 55856 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 13A8D27BBE9; Thu, 2 Nov 2023 20:35:45 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3F5D527BBE2 for ; Thu, 2 Nov 2023 20:35:41 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qyePf-0003O4-DH; Thu, 02 Nov 2023 16:35:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qyePa-0003Nl-Dc for guix-patches@gnu.org; Thu, 02 Nov 2023 16:35:30 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qyePZ-0007WT-QX; Thu, 02 Nov 2023 16:35:29 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qyeQ6-0000w0-0u; Thu, 02 Nov 2023 16:36:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66901] [PATCH] scripts: edit: Fix relative file-name with 'load-path' option. Resent-From: Simon Tournier Original-Sender: "Debbugs-submit" Resent-CC: guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, rekado@elephly.net, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Thu, 02 Nov 2023 20:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66901 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66901@debbugs.gnu.org Cc: Simon Tournier , Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice Received: via spool by submit@debbugs.gnu.org id=B.16989573323542 (code B ref -1); Thu, 02 Nov 2023 20:36:01 +0000 Received: (at submit) by debbugs.gnu.org; 2 Nov 2023 20:35:32 +0000 Received: from localhost ([127.0.0.1]:56250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qyePc-0000v3-CK for submit@debbugs.gnu.org; Thu, 02 Nov 2023 16:35:32 -0400 Received: from lists.gnu.org ([2001:470:142::17]:60914) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qyePY-0000un-G8 for submit@debbugs.gnu.org; Thu, 02 Nov 2023 16:35:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qyeOs-0003GE-Ux for guix-patches@gnu.org; Thu, 02 Nov 2023 16:34:47 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qyeOr-0007An-5G for guix-patches@gnu.org; Thu, 02 Nov 2023 16:34:46 -0400 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2c508e76eb4so3426681fa.0 for ; Thu, 02 Nov 2023 13:34:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698957283; x=1699562083; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=GsOA1a/1FOJ4y7NKLff+PK55ihPO4kc0ioM534KO7LY=; b=mJAAjlGzBTEjLNK+Z05RdCnUUwnu+bRibw4Jkc6AqsX5TMULM70fC9z6lq24dkKSzD qTyTZLfwT+DqN5NuWsovX0hsYsdAwgxsDlSCtnvY50NYSp6pgSCASmDVbobtZ2GU5ztU kOkYdeINSKmNZSAfzGrRwZJuIuA5Og7eB1Z46OZV8hIqaFDv1sHNIbHId6bFrTlKs6gZ jUvU6B9/xxMoAZ6//cgEtZwa4v8Z6NGZZ2gzdg+DE6VysdVxkcMykveBBEoC7M/8i23b JNI/JmKmKH737EwTW9cgd6vG9rJaR9JaReB6CaXuFmH0q5PjTcMstKdNTr+iCM7YfETL 0+jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698957283; x=1699562083; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GsOA1a/1FOJ4y7NKLff+PK55ihPO4kc0ioM534KO7LY=; b=AsEtgZoHlUR8jhZTSFqfXR4v8uhBsriZhomQoQomyXVfmVWa5vSWwjGLIveQE/Z5zk SbECwp7N9uizVheENoejnzTvHe5L5DcJR+OBtrtcA8OmDV5SKeb0vMyLoTur1laNFV3H TezhG5ZGvefEf/rjETdADW1UuR3UJjDa2/WPTrsO0KHvG5BVx3Gui9pMXZTAMJKf81TZ JKzg98WLXTuiDPaZQnmYnanO91SdU27R/JNubYH7DG2KsimxqqJ1UTMD5tdeeZ9B9bgh ijyRMew5jPDch9NfE/wYrvIaIAWfsDCQpTWhJt/GgrbiuVWnBd7WNcs9o1DweulX0vWu bmWg== X-Gm-Message-State: AOJu0Yw9SlVeQmDJS5fi00b8SeG31ET6YN7HQKvItKX8L1G3rIEqvtdm Qntw8cYoxepcmYRgPgweGDrHBnd6HQE= X-Google-Smtp-Source: AGHT+IGzkDifpzh9W6CHcQ0zkWYejvoIX0RT0gSBlflNgrpsZ40ld2K8VHOKNBhg1cDQiOwlpQMCyw== X-Received: by 2002:a2e:3306:0:b0:2c5:519:bb1b with SMTP id d6-20020a2e3306000000b002c50519bb1bmr13802233ljc.2.1698957282457; Thu, 02 Nov 2023 13:34:42 -0700 (PDT) Received: from localhost.localdomain ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id bg19-20020a05600c3c9300b0040531f5c51asm252045wmb.5.2023.11.02.13.34.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 13:34:42 -0700 (PDT) From: Simon Tournier Date: Thu, 2 Nov 2023 21:34:35 +0100 Message-ID: <0b6f9a9ec4d5146dfa3cf6182bba38ce889d6fac.1698956890.git.zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::22c; envelope-from=zimon.toutoune@gmail.com; helo=mail-lj1-x22c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * guix/scripts/edit.scm (search-path*): Use 'canonicalize-path' if 'search-path' fails. Change-Id: I891d63d0d28577a7d1732fc59435828ecc0a5c5a --- guix/scripts/edit.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) Hi, Using Guix aabfddb, consider: --8<---------------cut here---------------start------------->8--- $ guix show -L src/example hi name: hi version: 2.10 outputs: + out: everything systems: x86_64-linux i686-linux dependencies: gawk@5.2.1 location: src/example/first.scm:9:2 homepage: https://www.gnu.org/software/hello/ license: GPL 3+ synopsis: Hello, GNU world: An example GNU package description: Guess what GNU Hello prints! $ guix edit -L src/example hi guix edit: error: file 'src/example/first.scm' not found in search path ("src/example" "/gnu/store/yzib23ah0rlmim0j4737g2wrhx1r1q3r-guix-module-union/share/guile/site/3.0" "/gnu/store/84rvhd3j7pfqrh7717cv7ddv2dc8xad5-guile-3.0.9/share/guile/3.0" "/gnu/store/84rvhd3j7pfqrh7717cv7ddv2dc8xad5-guile-3.0.9/share/guile/3.0" "/gnu/store/84rvhd3j7pfqrh7717cv7ddv2dc8xad5-guile-3.0.9/share/guile/site/3.0" "/gnu/store/84rvhd3j7pfqrh7717cv7ddv2dc8xad5-guile-3.0.9/share/guile/site" "/gnu/store/84rvhd3j7pfqrh7717cv7ddv2dc8xad5-guile-3.0.9/share/guile" "/home/simon/.guix-profile/share/guile/site/3.0" "/home/simon/.config/guix/profiles/emacs/emacs/share/guile/site/3.0" "/home/simon/.guix-profile/share/guile/site/3.0" "/home/simon/.config/guix/profiles/emacs/emacs/share/guile/site/3.0") --8<---------------cut here---------------end--------------->8--- The issue is that the procedure 'search-path' returns #f. It looks similar as fixed bug #42543 [1] by d10474c38d58bdc676e64336769dc2e00cdfa8ed. Here, I do not know how to avoid 'canonicalize-path' when 'search-path' returns #f because some relative. WDYT? 1: https://issues.guix.gnu.org/42543 Cheers, simon base-commit: 28ebbe2be8829a4767b9789c6353ad5e826d1164 diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm index ff2d529bcf..7ec725fc08 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) + (canonicalize-path 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~%")