Community
Participate
Working Groups
There's a class of context-dependent IDynamicVariables that should only be evaluated if absolutely necessary (e.g. when a launch configuration is actually launched). It often doesn't make sense to evaluate ${string_prompt}, ${container_loc}, ${selected_text}, etc. just for rendering a launch configuration or to validate it, because either the user shouldn't be prompted, or because the selection shouldn't matter until the launch config is launched. See bug 407237, bug 175676. The basic problem is that IStringVariableManager#performStringSubstitution(String) unconditionally resolves all variables, including all IDynamicVariables. There should be a variant of that method that makes sure no dynamic variables are evaluated. Or at least none with side-effects or a dependency on the current selection (but there's currently no mechanism distinguish these from other IDynamicVariables).
*** Bug 467255 has been marked as a duplicate of this bug. ***