[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/setup 903564b 21/24: Add if-package and if-feature macr
From: |
Stefan Monnier |
Subject: |
[elpa] externals/setup 903564b 21/24: Add if-package and if-feature macros |
Date: |
Thu, 25 Mar 2021 13:42:38 -0400 (EDT) |
branch: externals/setup
commit 903564b2a1c9837132e69ee585daffe958f874f1
Author: Philip K <philipk@posteo.net>
Commit: Philip K <philipk@posteo.net>
Add if-package and if-feature macros
---
setup.el | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/setup.el b/setup.el
index c2f112b..01f035f 100644
--- a/setup.el
+++ b/setup.el
@@ -419,6 +419,26 @@ See `advice-add' for more details."
:documentation "If EXECUTABLE is not in the path, stop here."
:repeatable 1)
+(setup-define :if-package
+ (lambda (package)
+ `(unless (package-installed-p ',package)
+ (throw 'setup-exit nil)))
+ :documentation "If package is not installed, stop evaluating the body.
+This macro can be used as HEAD, and it will replace itself with
+the first PACKAGE."
+ :repeatable t
+ :shorthand #'cadr)
+
+(setup-define :if-feature
+ (lambda (feature)
+ `(unless (featurep ',feature)
+ (throw 'setup-exit nil)))
+ :documentation "If FEATURE is not available, stop evaluating the body.
+This macro can be used as HEAD, and it will replace itself with
+the first PACKAGE."
+ :repeatable t
+ :shorthand #'cadr)
+
(setup-define :only-if
(lambda (condition)
`(unless ,condition
- [elpa] externals/setup 4c1ca62 05/24: Make explicit that setup-macros is modified by setup-define., (continued)
- [elpa] externals/setup 4c1ca62 05/24: Make explicit that setup-macros is modified by setup-define., Stefan Monnier, 2021/03/25
- [elpa] externals/setup f3e1b0f 10/24: Link to repository, Stefan Monnier, 2021/03/25
- [elpa] externals/setup d1a55e7 07/24: Simplify setup docstring, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 483c938 08/24: Mention that :when-loaded is bad style, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 1893abc 13/24: Document :shorthand and extractors, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 2e18255 23/24: Always push cons as name onto body, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 844b6bc 15/24: Removed unnecessary unquote in :unbind, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 8f586c3 16/24: Fix hide-mode handling for the first element in minor-mode-alist, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 58cb897 09/24: Remove empty lines in docstrings, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 48658fb 20/24: Fix broken markup in README, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 903564b 21/24: Add if-package and if-feature macros,
Stefan Monnier <=
- [elpa] externals/setup f3d4d27 11/24: Replace (function-)form with sexp where necessary, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 546c5f2 12/24: Bump version to 0.1.2, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 7cb02ce 19/24: Remove unnecessary unquote in :bind and :rebind, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 4d74aa7 14/24: Don't require extra quoting for :advise, Stefan Monnier, 2021/03/25
- [elpa] externals/setup f3551c0 18/24: Use delq properly in README/Commentary, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 1861d8c 22/24: Handle nil feature in :with-feature, Stefan Monnier, 2021/03/25
- [elpa] externals/setup 7a78f66 24/24: Consistently use symbol-value instead of eval, Stefan Monnier, 2021/03/25
- [elpa] externals/setup c2a1f64 17/24: Add (remove ...) keyword to :option and :local-set, Stefan Monnier, 2021/03/25