~ruther/guix-local

db0c709b9aa75b44cdc6a5c0e0b9c9a1ab5212ec — Alex Kost 10 years ago b8fa5a2
emacs: Use '@' to separate package names and version numbers.

This is a followup to commit 1b846da8c372bee78851439fd9e72b2499115e5a.

* emacs/guix-base.el (guix-package-name-specification): Use "@" instead
of "-".
* emacs/guix-main.scm (name+version->full-name): Likewise.
(package-inputs-names): Use 'make-package-specification' instead of
'package-full-name'.
(full-name->name+version): Update the docstring.
* emacs/guix-ui-package.el (guix-packages-by-name): Likewise.
3 files changed, 6 insertions(+), 5 deletions(-)

M emacs/guix-base.el
M emacs/guix-main.scm
M emacs/guix-ui-package.el
M emacs/guix-base.el => emacs/guix-base.el +1 -1
@@ 44,7 44,7 @@

(defun guix-package-name-specification (name version &optional output)
  "Return Guix package specification by its NAME, VERSION and OUTPUT."
  (concat name "-" version
  (concat name "@" version
          (when output (concat ":" output))))



M emacs/guix-main.scm => emacs/guix-main.scm +4 -3
@@ 86,13 86,13 @@
(define (full-name->name+version spec)
  "Given package specification SPEC with or without output,
return two values: name and version.  For example, for SPEC
\"foo-0.9.1b:lib\", return \"foo\" and \"0.9.1b\"."
\"foo@0.9.1b:lib\", return \"foo\" and \"0.9.1b\"."
  (let-values (((name version output)
                (package-specification->name+version+output spec)))
    (values name version)))

(define (name+version->full-name name version)
  (string-append name "-" version))
  (string-append name "@" version))

(define* (make-package-specification name #:optional version output)
  (let ((full-name (if version


@@ 263,7 263,8 @@ Example:
  "Return a list of full names of the packages from package INPUTS."
  (filter-map (match-lambda
               ((_ (? package? package))
                (package-full-name package))
                (make-package-specification (package-name package)
                                            (package-version package)))
               ((_ (? package? package) output)
                (make-package-specification (package-name package)
                                            (package-version package)

M emacs/guix-ui-package.el => emacs/guix-ui-package.el +1 -1
@@ 946,7 946,7 @@ See `guix-find-location' for the meaning of DIRECTORY."
(defun guix-packages-by-name (name &optional profile)
  "Display Guix packages with NAME.
NAME is a string with name specification.  It may optionally contain
a version number.  Examples: \"guile\", \"guile-2.0.11\".
a version number.  Examples: \"guile\", \"guile@2.0.11\".

If PROFILE is nil, use `guix-current-profile'.
Interactively with prefix, prompt for PROFILE."