diff options
author | Alex Kost <alezost@gmail.com> | 2015-11-18 22:28:13 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-01-02 17:25:35 +0300 |
commit | 4ba476f94992247cd54541ac09b0a516660f20e5 (patch) | |
tree | fc7fbed8d2aef413850f469fe96710d775942404 /emacs/guix-read.el | |
parent | 376af769f9cad7f521611c230d192ac639159fda (diff) | |
download | guix-4ba476f94992247cd54541ac09b0a516660f20e5.tar.gz |
emacs: Add 'guix-keyword-args-let'.
* emacs/guix-utils.el (guix-keyword-args-let): New macro. (guix-utils-font-lock-keywords): Add it. * emacs/guix-base.el (guix-define-buffer-type): Use it. * emacs/guix-list.el (guix-list-define-entry-type): Use it. * emacs/guix-read.el (guix-define-readers): Use it.
Diffstat (limited to 'emacs/guix-read.el')
-rw-r--r-- | emacs/guix-read.el | 28 |
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 |