Remove redundancy
This commit is contained in:
parent
46487b4a33
commit
bcf56eff21
|
@ -140,7 +140,7 @@ See `no-littering' for examples.")
|
||||||
|
|
||||||
;; Setup `setup'
|
;; Setup `setup'
|
||||||
|
|
||||||
(add-to-list 'setup-modifier-list 'setup-wrap-to-demote-errors)
|
(add-to-list 'setup-modifier-list '+setup-wrap-to-demote-errors)
|
||||||
(unless (memq debug-on-error '(nil init))
|
(unless (memq debug-on-error '(nil init))
|
||||||
(define-advice setup (:around (fn head &rest args) +setup-report)
|
(define-advice setup (:around (fn head &rest args) +setup-report)
|
||||||
(+with-progress ((format "[Setup] %S..." head))
|
(+with-progress ((format "[Setup] %S..." head))
|
||||||
|
|
|
@ -88,50 +88,7 @@ If PATH does not exist, abort the evaluation."
|
||||||
',recipe)
|
',recipe)
|
||||||
,(setup-quit))
|
,(setup-quit))
|
||||||
(:success t)))
|
(:success t)))
|
||||||
(defun setup--straight-handle-arg (arg var)
|
,(setup-quit))))
|
||||||
(cond
|
|
||||||
((and (boundp var) (symbol-value var)) t)
|
|
||||||
((keywordp arg) (set var t))
|
|
||||||
((functionp arg) (set var nil) (funcall arg))
|
|
||||||
((listp arg) (set var nil) (eval arg :lexical))))
|
|
||||||
|
|
||||||
(setup-define :straight
|
|
||||||
(lambda (recipe &rest predicates)
|
|
||||||
(let* ((skp (make-symbol "straight-keyword-p"))
|
|
||||||
(straight-use-p
|
|
||||||
(cl-every (lambda (f) (setup--straight-handle-arg f skp))
|
|
||||||
predicates))
|
|
||||||
(form `(unless (and ,straight-use-p
|
|
||||||
(condition-case e
|
|
||||||
(straight-use-package ',recipe)
|
|
||||||
(error
|
|
||||||
(+setup-warn ":straight error: %S"
|
|
||||||
',recipe)
|
|
||||||
,(setup-quit))
|
|
||||||
(:success t)))
|
|
||||||
,(setup-quit))))
|
|
||||||
;; Keyword arguments --- :quit is special and should short-circuit
|
|
||||||
(if (memq :quit predicates)
|
|
||||||
(setq form `,(setup-quit))
|
|
||||||
;; Otherwise, handle the rest of them ...
|
|
||||||
(when-let ((after (cadr (memq :after predicates))))
|
|
||||||
(setq form `(with-eval-after-load ,(if (eq after t)
|
|
||||||
(setup-get 'feature)
|
|
||||||
after)
|
|
||||||
,form))))
|
|
||||||
;; Finally ...
|
|
||||||
form))
|
|
||||||
:documentation "Install RECIPE with `straight-use-package'.
|
|
||||||
If PREDICATES are given, only install RECIPE if all of them return non-nil.
|
|
||||||
The following keyword arguments are also recognized:
|
|
||||||
- :quit --- immediately stop evaluating. Good for commenting.
|
|
||||||
- :after FEATURE --- only install RECIPE after FEATURE is loaded.
|
|
||||||
If FEATURE is t, install RECIPE after the current feature."
|
|
||||||
:repeatable nil
|
|
||||||
:indent 1
|
|
||||||
:shorthand (lambda (sexp)
|
|
||||||
(let ((recipe (cadr sexp)))
|
|
||||||
(or (car-safe recipe) recipe)))) ,(setup-quit))))
|
|
||||||
;; Keyword arguments --- :quit is special and should short-circuit
|
;; Keyword arguments --- :quit is special and should short-circuit
|
||||||
(if (memq :quit predicates)
|
(if (memq :quit predicates)
|
||||||
(setq form `,(setup-quit))
|
(setq form `,(setup-quit))
|
||||||
|
|
Loading…
Reference in New Issue