You are here: DENX Home »  System » Category » UserDocumentationCategory » Macros » VarSET

SET -- set a preference setting during runtime

A preference setting created via %SET{}% will only be usable in the topic where it has been found by the parser, similar to normal PreferenceSettings.

When used in an include, note that each call to %INCLUDE opens a new scope for preference variables. An %INCLUDE of another topic containing a %SET{}% statement will not define those values in the including base topic's scope. However unlike bullet/Meta style preferences, %SET{}% statements will be active while the INCLUDE is rendered.

If a perference is FINALized in a Bullet/Meta setting, then the %SET{}% macro will be unable to modify it.

In contrast, a TMPL:DEF template definition containing %SET{}% macros will add those values to the current scope as if these settings have been parsed as part of the current topic's text.

A TMPL:DEF template definition containing %SET macros will also add those values to the current scope as if these settings have been parsed as part of the base topic's text.

Setting a preference setting in a list like in

   * Set foo = %SEARCH{...

or in META settings will store the text of the TML expression.

The equivalent %SET statement:

%SET{"foo" value="%SEARCH{..."}%

will store the result of the TML expression as a consequence of the parser processing macros inside-out-left-to-right.

Parameters

Parameter Description Default
"name" Name of preference to set  
value Value to set it to  

Examples

To cache the result of another macro use %SET{"search_result" value="%SEARCH{...}%"}%. The result of the value expression will be temporarily bound to the variable %search_result% and might be used within the scope of the current topic being processed, or in %INCLUDing or other %INCLUDEd topics.

Note that this macro does NOT expand FormatTokens that are used to alter the macro processing sequence. ($percent, $dollar, …).

PreferenceSettings, IncludeTopicsAndWebPages
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding DENX? Send feedback
This website is using cookies. More info. That's Fine