fix the bug in Substitute☐ cool new feature
☐ could help many users!
☐ removes a „bug“
☑ nice to have
☐ nobody needs it
There is a bug in Substitute if several items are substituted simultaneously or sequentially in a JSL code.
JMP complains that the code is not correct.
The code works after feeding it through parse(char(my code)). And it works as well if the file is saved and re-opened:
https://community.jmp.com/t5/Discussions/Col-Median-what-s-wrong/m-p/573778#M78278
really strange.
Automation and ScriptingRe: fix the bug in Substitute - Status changed to: InvestigatingRe: fix the bug in SubstituteYes, seems that as soon as TWO or more functions in the substitution are given without brackets, the expression cannot be evaluated anymore.
The error message also pops up if the substitutions are applied one after the other, like in https://community.jmp.com/t5/Discussions/Col-Median-what-s-wrong/m-p/573778#M78278
On the other hand: cool that JMP can substitute functions.
In addition: nice workaround to "write all functions with brackets" 
Re: fix the bug in Substitute@julian provided the script below that illustrates the problem. We will investigate this bug.
//control condition
expression1 = Expr( Sine( Log( Round ( 2.5 , 0 ) ) ) );
Eval( expression1 );
Show( NameExpr(expression1));
//Succeeds, using additional parentheses to help JMP know these are functions
expression2 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression2,
Expr(__func1__),Expr(Sine()),
Expr(__func2__),Expr(Log()),
Expr(__func3__),Expr(Round()),
);
Show( NameExpr(expression2));
Eval( expression2 );
//Also Succeeds, becuase only 1 function doesn't have ()
expression3 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression3,
Expr(__func1__),Expr(Sine),
Expr(__func2__),Expr(Log()),
Expr(__func3__),Expr(Round()),
);
Show( NameExpr(expression3));
Eval( expression3 );
//Fails, even though expression looks correct from show
expression4 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression4,
Expr(__func1__),Expr(Sine),
Expr(__func2__),Expr(Log),
Expr(__func3__),Expr(Round),
);
Show( NameExpr(expression4));
Eval( expression4 );
Re: fix the bug in Substitute - Status changed to: Not Planned For NowGiven that there is a solution, will move this off our wishlist active items.
Re: fix the bug in Substitute - Status changed to: Needs InfoRe: fix the bug in Substitute - Status changed to: Acknowledged@hogi I don't understand what the issue is that you are describing. A more complete description would be appreciated.
Also, in general, for issues that are potential bugs in JMP, the best route is to send that to our technical support team (support@jmp.com) so that they can investigate it. If it turns out that the issue needs to be addressed by adding a new feature to JMP, then a post to the wish list is appropriate.
Re: fix the bug in Substitutenot needed:
solution is here
https://community.jmp.com/t5/Discussions/Col-Median-actually-Substitute-what-s-wrong/m-p/573784/highlight/true#M78281
Re: fix the bug in Substitute - Status changed to: Acknowledged