guile-devel
[Top][All Lists]
Advanced

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

Re: Feature request: make Guile compiler always write absolute paths in


From: Maxime Devos
Subject: Re: Feature request: make Guile compiler always write absolute paths in .go files for Geiser compatiblity
Date: Mon, 25 Sep 2023 11:26:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0



Op 01-09-2023 om 11:33 schreef Vili Aapro:
Dear all,

for Geiser (specifically, `geiser-edit-symbol-at-point') compatibility, we 
would like the Guile procedure `program-source' always to return absolute 
paths; for this, we would need compiler co-operation. Specifically, it would be 
desirable to make Guile compiler always write absolute paths in .go files.

At the moment, this is not the case, and `edit-symbol-at-point' fails for `iota' because 
`program-source' returns a relative path "ice-9/boot-9.scm".

We discussed this on `geiser-guile'; see 
https://gitlab.com/emacs-geiser/guile/-/issues/33 .

Sounds like a very bad idea. The absolute file name would be somewhere in the build directory, which very likely doesn't exist anymore on a typical installation.

Also bad for relocatable installs -- I don't if Guile actually supports them, but I've heard that Lilypond would find them useful.

Instead of the absolute file name, you would need a file name relative to the module path -- i.e., it should record ice-9/boot-9.scm, not /tmp/guile-build/modules/ice-9/boot-9.scm. I suppose that whatever code is responsible for loading .go/.scm can be adjusted to add a prefix turning it in an absolute file name.

> One wrong way to find out the absolute path would be to go through
> %load-path, but the semantics of that would break under mutation.
> Best regards,

Can you elaborate?


Maxime Devos.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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