From 3472bb20c5521f9dc85404a4dab9abef11c87a22 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 28 Sep 2014 09:32:41 +0400 Subject: emacs: Use package/output type variables where needed. * emacs/guix-list.el (guix-package-list-type, guix-output-list-describe-type): Move to... * emacs/guix-base.el: ... here. Rename 'guix-output-list-describe-type' to 'guix-package-info-type'. * emacs/guix-info.el (guix-generation-info-insert-number): Use 'guix-package-list-type'. * emacs/guix.el (guix-get-show-packages): Use 'guix-package-info-type'. --- emacs/guix-base.el | 20 +++++++++++++++++++- emacs/guix-info.el | 2 +- emacs/guix-list.el | 22 ++-------------------- emacs/guix.el | 24 +++++++++--------------- 4 files changed, 31 insertions(+), 37 deletions(-) (limited to 'emacs') diff --git a/emacs/guix-base.el b/emacs/guix-base.el index 98ce0bcb49..fb1cd971ee 100644 --- a/emacs/guix-base.el +++ b/emacs/guix-base.el @@ -342,7 +342,25 @@ following keywords are available: (put 'guix-define-buffer-type 'lisp-indent-function 'defun) -;;; Getting info about packages and generations +;;; Getting and displaying info about packages and generations + +(defcustom guix-package-list-type 'output + "Define how to display packages in a list buffer. +May be a symbol `package' or `output' (if `output', display each +output on a separate line; if `package', display each package on +a separate line)." + :type '(choice (const :tag "List of packages" package) + (const :tag "List of outputs" output)) + :group 'guix) + +(defcustom guix-package-info-type 'package + "Define how to display packages in an info buffer. +May be a symbol `package' or `output' (if `output', display each +output separately; if `package', display outputs inside a package +information)." + :type '(choice (const :tag "Display packages" package) + (const :tag "Display outputs" output)) + :group 'guix) (defun guix-get-entries (entry-type search-type search-vals &optional params) diff --git a/emacs/guix-info.el b/emacs/guix-info.el index aefb32adb5..d0a320f7cf 100644 --- a/emacs/guix-info.el +++ b/emacs/guix-info.el @@ -620,7 +620,7 @@ ENTRY is an alist with package info." (guix-info-insert-action-button "Packages" (lambda (btn) - (guix-get-show-entries 'list 'package 'generation + (guix-get-show-entries 'list guix-package-list-type 'generation (button-get btn 'number))) "Show installed packages for this generation" 'number number) diff --git a/emacs/guix-list.el b/emacs/guix-list.el index 3342175fe3..6a4cdfc552 100644 --- a/emacs/guix-list.el +++ b/emacs/guix-list.el @@ -469,15 +469,6 @@ With prefix (if ARG is non-nil), describe entries marked with any mark." "Face used if a package is obsolete." :group 'guix-package-list) -(defcustom guix-package-list-type 'output - "Define how to display packages in a list buffer. -May be a symbol `package' or `output' (if `output', display each -output on a separate line; if `package', display each package on -a separate line)." - :type '(choice (const :tag "List of packages" package) - (const :tag "List of outputs" output)) - :group 'guix-package-list) - (defcustom guix-package-list-generation-marking-enabled nil "If non-nil, allow putting marks in a list with 'generation packages'. @@ -648,15 +639,6 @@ The specification is suitable for `guix-process-package-actions'." (upgrade . ?U) (delete . ?D))) -(defcustom guix-output-list-describe-type 'package - "Define how to describe outputs in a list buffer. -May be a symbol `package' or `output' (if `output', describe only -marked outputs; if `package', describe all outputs of the marked -packages)." - :type '(choice (const :tag "Describe packages" package) - (const :tag "Describe outputs" output)) - :group 'guix-output-list) - (let ((map guix-output-list-mode-map)) (define-key map (kbd "RET") 'guix-output-list-describe) (define-key map (kbd "x") 'guix-output-list-execute) @@ -721,9 +703,9 @@ The specification is suitable for `guix-process-output-actions'." "Describe outputs or packages marked with a general mark. If no entries are marked, describe the current output or package. With prefix (if ARG is non-nil), describe entries marked with any mark. -Also see `guix-output-list-describe-type'." +Also see `guix-package-info-type'." (interactive "P") - (if (eq guix-output-list-describe-type 'output) + (if (eq guix-package-info-type 'output) (guix-list-describe arg) (let* ((oids (or (apply #'guix-list-get-marked-id-list (unless arg '(general))) diff --git a/emacs/guix.el b/emacs/guix.el index f6e2023ea5..a1425161c4 100644 --- a/emacs/guix.el +++ b/emacs/guix.el @@ -57,25 +57,19 @@ SEARCH-VALS. Results are displayed in the list buffer, unless a single package is found and `guix-list-single-package' is nil." - (let* ((list-params (guix-get-params-for-receiving - 'list guix-package-list-type)) - (packages (guix-get-entries guix-package-list-type - search-type search-vals - list-params))) + (let ((packages (guix-get-entries guix-package-list-type + search-type search-vals + (guix-get-params-for-receiving + 'list guix-package-list-type)))) (if (or guix-list-single-package (cdr packages)) (guix-set-buffer packages 'list guix-package-list-type search-type search-vals) - (let* ((info-params (guix-get-params-for-receiving - 'info guix-package-list-type)) - (packages (if (equal list-params info-params) - packages - ;; If we don't have required info, we should - ;; receive it again - (guix-get-entries guix-package-list-type - search-type search-vals - info-params)))) - (guix-set-buffer packages 'info guix-package-list-type + (let ((packages (guix-get-entries guix-package-info-type + search-type search-vals + (guix-get-params-for-receiving + 'info guix-package-info-type)))) + (guix-set-buffer packages 'info guix-package-info-type search-type search-vals))))) (defun guix-get-show-generations (search-type &rest search-vals) -- cgit v1.2.3