Ludovic Courtès (2017-07-03 23:53 +0200) wrote: > Hi Alex, > > Alex Kost <alez...@gmail.com> skribis: > >> Ludovic Courtès (2017-06-30 11:35 +0200) wrote: > > [...]
>> I have a (probably not related) question though: in the past, package >> 'location' contained an *absolute* file name for the packages from >> GUIX_PACKAGE_PATH. Now these locations are *relative* file names. Is >> this intended? >> >> If so, this is a problem for Emacs-Guix: you see, when you try to open a >> package location (for example, by pressing an according button in *Guix >> Package Info* buffer), it is expanded against 'guix-directory' variable. >> So if you open "gnu/packages/guile.scm" location, it works, but now if >> it is your location like "my-guix-packages/foo.scm", the wrong >> (non-existent) file will be opened. Previously it worked, because that >> location was absolute, like "/home/me/my-guix-packages/foo.scm". > > I’ve noticed this but I didn’t think it was a regression. > > Basically Guile supports two “file name canonicalization” modes: one > that returns a file name relative to %load-path, and one that returns an > absolute file name. By default, when loading modules, we’re in > ‘relative’ mode; this is so that modules can be moved on disk and don’t > record their initial location. Thanks for the explanation! > I think the last time this was changed was a year ago in > 14d5ca2e2e57643b6b4acfb980b18b7474c27e7b. -- Alex