Mathieu Lirzin <m...@gnu.org> skribis: > l...@gnu.org (Ludovic Courtès) writes: > >> diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm >> index 34da6ac..c5d5d75 100644 >> --- a/emacs/guix-main.scm >> +++ b/emacs/guix-main.scm >> @@ -954,10 +954,14 @@ GENERATIONS is a list of generation numbers." >> >> (define (package-location-string id-or-name) >> "Return a location string of a package with ID-OR-NAME." >> - (and-let* ((package (or (package-by-id id-or-name) >> - (first (packages-by-name id-or-name)))) >> - (location (package-location package))) >> - (location->string location))) >> + (define package >> + (or (package-by-id id-or-name) >> + (match (packages-by-name id-or-name) >> + (() #f) >> + ((first . rest) first)))) >> + >> + (and package >> + (location->string (package-location package)))) > > Not related to the bug. but it feels weird to use internal defines for > something else than a procedure.
I don’t find it weird. :-) > what about using (not tested): > > (and=> (or (package-by-id id-or-name) > (match (packages-by-name id-or-name) > (() #f) > ((pkg ..1) pkg))) > (compose location->string package-location)) I like it too! > I know you love my 'pkg' identifier. ;) No I don’t! :-) I think we should stick to one identifier style, which is to always use full words (I’m often tempted to use abbreviations and I force myself not to, as silly as I am!) Ludo’.