Thanks. I followed the paths and found the corresponding modules, and I think I get it: it's just a way not to hard-code the root of where the `mes` code lies.
But then, it seems to me that @Vagrant Cascadian <vagr...@debian.org> is not correct when he suggests that this code enables the build system to checkout the current git commit, because there are still version specifications in all the `define-public` statements within the actual ` mes.scm` file. Am I correct in this assessment? Thanks, Cássio ----- Faculdade de Letras - UFG *“* *Ou a gente se Raôni, ou a gente se Sting**”* On Fri, Apr 1, 2022 at 6:26 AM Liliana Marie Prikler < liliana.prik...@ist.tugraz.at> wrote: > Hi Cássio > > > OK, I checked this scheme file, and it's just a four-line program, > > but I don't get it. So, help me here ─ what is this *↓↓↓* `mes` code > > actually doing? > > > > > This line gets the name of the directory in which (current-filename), > i.e. /path/to/mes/guix.scm lies. > > (define %source-dir (dirname (current-filename))) > This adds /path/to/mes/guix to the Guile load path. > > (add-to-load-path (string-append %source-dir "/guix")) > This loads git/mes.scm from the load path (see above) and makes its > public bindings available. > > (use-modules (git mes)) > This is just a variable, probably exported by the (git mes) module, > which should itself be a (package ...) description. > > mes.git > > Cheers >