aboutsummaryrefslogtreecommitdiff
path: root/src/property.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-05-03 15:44:37 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-05-06 12:23:51 -0700
commitc2430567f4982fa55b53341cd2d7552671935a5c (patch)
tree551eeae620941a60b8af06628798f9498c9ee048 /src/property.lisp
parent69bb8712cfb2f13cfca50efbded62624a0a6dcdf (diff)
downloadconsfigurator-c2430567f4982fa55b53341cd2d7552671935a5c.tar.gz
add & use PROPAPP macro
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property.lisp')
-rw-r--r--src/property.lisp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/property.lisp b/src/property.lisp
index 0a5768e..02871a3 100644
--- a/src/property.lisp
+++ b/src/property.lisp
@@ -349,6 +349,14 @@ It should be a pure function aside from retrieving hostattrs (as set by other
properties applied to the hosts to which the resulting property is applied,
not as set by the properties in the returned propspec).
+Macro property combinators should be usable in the normal way in the body, but
+some other macros commonly used in DEFHOST and DEFPROPLIST forms will not work
+as expected. In particular, the macros implementing dotted propapp notation
+expect to be used within unevaluated property application specification
+expressions and may not behave as expected in the body of DEFPROPSPEC. You
+can work around this particular limitation using the PROPAPP macro. See
+DISK:RAW-IMAGE-BUILT-FOR for an example of this technique.
+
You can usually use DEFPROPLIST instead of DEFPROPSPEC, which see."
;; This is implemented by effectively pushing a null pointer to the front of
;; the propapp's arguments at :PREPROCESS-time, calling the user's code with