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.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature