aboutsummaryrefslogtreecommitdiff
path: root/emacs/guix-read.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/guix-read.el')
-rw-r--r--emacs/guix-read.el28
1 files changed, 8 insertions, 20 deletions
diff --git a/emacs/guix-read.el b/emacs/guix-read.el
index e60af9c2f7..82eccbd678 100644
--- a/emacs/guix-read.el
+++ b/emacs/guix-read.el
@@ -66,26 +66,14 @@ keywords are available:
`<multiple-reader-name>-string' function returning a string
of multiple values separated the specified separator will be
defined."
- (let (completions-var
- completions-getter
- single-reader
- single-prompt
- multiple-reader
- multiple-prompt
- multiple-separator)
-
- ;; Process the keyword args.
- (while (keywordp (car args))
- (pcase (pop args)
- (`:completions-var (setq completions-var (pop args)))
- (`:completions-getter (setq completions-getter (pop args)))
- (`:single-reader (setq single-reader (pop args)))
- (`:single-prompt (setq single-prompt (pop args)))
- (`:multiple-reader (setq multiple-reader (pop args)))
- (`:multiple-prompt (setq multiple-prompt (pop args)))
- (`:multiple-separator (setq multiple-separator (pop args)))
- (_ (pop args))))
-
+ (guix-keyword-args-let args
+ ((completions-var :completions-var)
+ (completions-getter :completions-getter)
+ (single-reader :single-reader)
+ (single-prompt :single-prompt)
+ (multiple-reader :multiple-reader)
+ (multiple-prompt :multiple-prompt)
+ (multiple-separator :multiple-separator))
(let ((completions
(cond ((and completions-var completions-getter)
`(or ,completions-var