diff options
author | Shea Levy <shea@shealevy.com> | 2014-03-10 07:09:07 -0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-11 13:15:06 +0100 |
commit | 2f2a20ed18535ba819225fabe9a4cf2f37d2edb1 (patch) | |
tree | d5378f4677c7828ed48fa7c843701c4015637fce | |
parent | 049a379ec6ca755bcc077fd0e8da186ff76b8679 (diff) | |
download | guix-2f2a20ed18535ba819225fabe9a4cf2f37d2edb1.tar.gz |
Document null dynamic attrs
-rw-r--r-- | doc/manual/release-notes.xml | 5 | ||||
-rw-r--r-- | doc/manual/writing-nix-expressions.xml | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 56f7bd6549..44762d1d6c 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -25,7 +25,10 @@ attribute names (e.g. <literal>set."${foo}"</literal>). In the case where the attribute name is just a single antiquotation, the quotes can be dropped (e.g. the above example can be written - <literal>set.${foo}</literal>).</para></listitem> + <literal>set.${foo}</literal>). If an attribute name inside of a + set declaration evaluates to <literal>"${null}"</literal> (e.g. + <literal>{ ${null} = false; }</literal>), then that attribute is not added + added to the set.</para></listitem> </itemizedlist> diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml index 71cd84b072..873dc21a52 100644 --- a/doc/manual/writing-nix-expressions.xml +++ b/doc/manual/writing-nix-expressions.xml @@ -871,6 +871,17 @@ This will evaluate to <literal>123</literal> if coerced to a string and <literal>456</literal> otherwise (again assuming <literal>bar</literal> is antiquotable).</para> +<para>In the special case where an attribute name inside of a set declaration +evaluates to <literal>"${null}"</literal> (which is normally an error, as +<literal>null</literal> is not antiquotable), that attribute is simply not +added to the set: + +<programlisting> +{ ${if foo then "bar" else null} = true; }</programlisting> + +This will evaluate to <literal>{}</literal> if <literal>foo</literal> +evaluates to <literal>false</literal>.</para> + </simplesect> |