bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#55464: (current-filename) is #f when guix pull'ing


From: Ludovic Courtès
Subject: bug#55464: (current-filename) is #f when guix pull'ing
Date: Sat, 21 May 2022 18:39:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi,

Attila Lendvai <attila@lendvai.name> skribis:

> is my analysis is correct, namely that cwd is not (always?) changed at 
> macroexpand time, and thus the implementation of INCLUDE is broken for 
> relative paths? is this a bug to be fixed in guile? if so, shall i try to add 
> a test case for this somewhere?

‘include’ does all its work at macro-expansion time.  It’s documented
like so (info "(guile) Local Inclusion"):

 -- Scheme Syntax: include file-name
     Open FILE-NAME, at expansion-time, and read the Scheme forms that
     it contains, splicing them into the location of the ‘include’,
     within a ‘begin’.

     If FILE-NAME is a relative path, it is searched for relative to the
     path that contains the file that the ‘include’ form appears in.

And I believe that’s what it does—see ‘psyntax.scm’ for the actual code.

Now, if source location info were to be missing, it wouldn’t be able to
work for relative file names because it wouldn’t know the name of the
source file that contains the ‘include’ form.

HTH!

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]