~ruther/guix-local

6a8c9545cb9702236586d905b9ebbf2790fcdf91 — Alex Kost 10 years ago 8c2dbe3
emacs: Simplify defining package ID in a list buffer.

* emacs/guix-list.el: Always retrieve 'package-id' parameter for a list
  of outputs.
  (guix-list-current-package-id): New function.
1 files changed, 10 insertions(+), 1 deletions(-)

M emacs/guix-list.el
M emacs/guix-list.el => emacs/guix-list.el +10 -1
@@ 215,6 215,14 @@ VAL may be nil."
  "Return alist of the current entry info."
  (guix-get-entry-by-id (guix-list-current-id) guix-entries))

(defun guix-list-current-package-id ()
  "Return ID of the current package."
  (cl-ecase major-mode
    (guix-package-list-mode
     (guix-list-current-id))
    (guix-output-list-mode
     (guix-get-key-val (guix-list-current-entry) 'package-id))))

(defun guix-list-for-each-line (fun &rest args)
  "Call FUN with ARGS for each entry line."
  (or (derived-mode-p 'guix-list-mode)


@@ 643,7 651,8 @@ The specification is suitable for `guix-process-package-actions'."
;;; Displaying outputs

(guix-define-buffer-type list output
  :buffer-name "*Guix Package List*")
  :buffer-name "*Guix Package List*"
  :required (package-id))

(guix-list-define-entry-type output
  :sort-key name