Boost C++ Libraries: Ticket #729: jam:"VAR on TARGET ?= values" unconditionally assigns values https://svn.boost.org/trac10/ticket/729 <pre class="wiki">"VAR on TARGET ?= values" unconditionally assigns values, i.e. works like "unconditional" assignment. This bug is extremely insidious, since there is no hint of wrong behaviour at all (it costed me a full day of futile debugging of my jam script before it dawned upon me that it is something wrong with assignment). Interesting, that documentation actually doesn't mention that "default assignment" is available on target, i.e. this is a "feature", but this requires _very_ attentive reading of documentation and is quite inconsistent. And even so it is a bug: there should be at least a syntax error! There are two ways to fix this bug: 1. Bring code into sync with doc, i.e. patch the syntax so that "VAR on TARGET ?= values" would be a syntax error. IMO strange, inconsistent and inconvinient. 2. Patch addsettings so that it handled default assignment correctly. The proposed patch implements the latter approach. The addsettings() function now accepts "setflag" (VAR_SET, VAR_ADD, VAR_DEFAULT) the same way as var_set() does, instead of logical "append" parameter. All addsettings() calls patched accordingly. Besides, it factors out the logic of converting ASSIGN_XXX compilation flag into corresponding VAR_XXX variable set flag into a separate static function. The patch is against CVS HEAD. </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/729 Trac 1.4.3 markovitch Thu, 14 Sep 2006 12:45:11 GMT summary changed https://svn.boost.org/trac10/ticket/729#comment:1 https://svn.boost.org/trac10/ticket/729#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">"VAR on TARGET ?= values" unconditionally assigns values</span> → <span class="trac-field-new">Fix:"VAR on TARGET ?= values" unconditionally assigns values</span> </li> </ul> Ticket markovitch Thu, 14 Sep 2006 12:47:27 GMT summary changed https://svn.boost.org/trac10/ticket/729#comment:2 https://svn.boost.org/trac10/ticket/729#comment:2 <ul> <li><strong>summary</strong> <span class="trac-field-old">Fix:"VAR on TARGET ?= values" unconditionally assigns values</span> → <span class="trac-field-new">jam:"VAR on TARGET ?= values" unconditionally assigns values</span> </li> </ul> Ticket René Rivera Wed, 20 Sep 2006 16:10:36 GMT status changed https://svn.boost.org/trac10/ticket/729#comment:3 https://svn.boost.org/trac10/ticket/729#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> <pre class="wiki">Logged In: YES user_id=33595 Thanks for the patch :-) </pre> Ticket