Function: use-package-pin-package
use-package-pin-package is a byte-compiled function defined in
use-package-ensure.el.gz.
Signature
(use-package-pin-package PACKAGE ARCHIVE)
Documentation
Pin PACKAGE to ARCHIVE.
Source Code
;; Defined in /usr/src/emacs/lisp/use-package/use-package-ensure.el.gz
(define-inline use-package-pin-package (package archive)
;; Make sure the expansion of calls to `use-package' doesn't need to
;; load us at run-time.
"Pin PACKAGE to ARCHIVE."
(let* ((package (inline-const-val package))
(archive (inline-const-val archive))
(archive-symbol (if (symbolp archive) archive (intern archive)))
(archive-name (if (stringp archive) archive (symbol-name archive))))
(unless (use-package-archive-exists-p archive-symbol)
(warn "Archive '%s' requested for package '%s' is not available"
archive-name package))
(inline-quote
(progn
;; FIXME: After N compiler-macro expansions, we end up with N copies of
;; this `(setq package-pinned-packages nil)' business.
(defvar package-pinned-packages)
(unless (boundp 'package-pinned-packages)
(setq package-pinned-packages ()))
(add-to-list 'package-pinned-packages
',(cons package archive-name))))))