Function: use-package-normalize/:vc

use-package-normalize/:vc is a byte-compiled function defined in use-package-core.el.gz.

Signature

(use-package-normalize/:vc NAME KEYWORD ARGS)

Documentation

Normalize possible arguments to the :vc keyword.

NAME is the name of the use-package declaration, _KEYWORD is ignored, and ARGS it a list of arguments given to the :vc keyword, the cdr of which is ignored.

See use-package-normalize--vc-arg for most of the actual normalization work. Also see the Info node (use-package) Creating an extension.

Source Code

;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
(defun use-package-normalize/:vc (name _keyword args)
  "Normalize possible arguments to the `:vc' keyword.
NAME is the name of the `use-package' declaration, _KEYWORD is
ignored, and ARGS it a list of arguments given to the `:vc'
keyword, the cdr of which is ignored.

See `use-package-normalize--vc-arg' for most of the actual
normalization work.  Also see the Info
node `(use-package) Creating an extension'."
  (let ((arg (car args)))
    (pcase arg
      ((or 'nil 't) (list name))                 ; guess name
      ((pred symbolp) (list arg))                ; use this name
      ((pred stringp) (list name arg))           ; version string + guess name
      (`(,(pred keywordp) . ,(pred listp))       ; list + guess name
       (use-package-normalize--vc-arg (cons name arg)))
      (`(,(pred symbolp) . ,(or (pred listp)     ; list/version string + name
                                (pred stringp)))
       (use-package-normalize--vc-arg arg))
      (_ (use-package-error "Unrecognized argument to :vc.\
 The keyword wants an argument of nil, t, a name of a package,\
 or a cons-cell as accepted by `package-vc-selected-packages', where \
 the accepted plist is augmented by a `:rev' keyword.")))))