aboutsummaryrefslogtreecommitdiff
path: root/doc/properties.rst
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-01 11:15:04 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-01 14:13:50 -0700
commit986439442b08b59bb4c44c94fa9f10e12705de66 (patch)
tree7e4bc96eb20b227487245f1782a5cfe6f5477c9f /doc/properties.rst
parentcb87eeb259ab50cbb136b08516cee49d7b20e240 (diff)
downloadconsfigurator-986439442b08b59bb4c44c94fa9f10e12705de66.tar.gz
add :PREPROCESS property subroutines
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'doc/properties.rst')
-rw-r--r--doc/properties.rst15
1 files changed, 13 insertions, 2 deletions
diff --git a/doc/properties.rst b/doc/properties.rst
index 7a1c299..ddae56b 100644
--- a/doc/properties.rst
+++ b/doc/properties.rst
@@ -10,8 +10,19 @@ special meaning in unevaluated property application specifications.
Property subroutines
--------------------
-A property is composed of four subroutines, which all take the same
-arguments. At least one of ``:hostattrs`` or ``:apply`` must be present.
+A property is composed of up to five subroutines, which all have the same
+lambda list (take the same arguments). At least one of ``:hostattrs``,
+``:apply`` or ``:unapply`` must be present.
+
+``:preprocess`` subroutines
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Executed in the root Lisp to modify the arguments that will be passed to the
+other subroutines; should return a fresh list of the new arguments. This
+subroutine is called on each atomic property application within a property
+application specification before the effects of property combinators have been
+applied. That is, it is effectively executed on atomic property applications
+in isolation from the property application specifications in which they occur.
``:hostattrs`` subroutines
~~~~~~~~~~~~~~~~~~~~~~~~~~