20260119 Fix an obscure bug with interactive use: a syntax error could cause the current problem name to be lost. For example, if foo contains var x; var y >= 0; minimize o: x^2 + (y - 10)^2; minimize f: (x - y)^2; problem Outer: x, o; problem Inner: y, f; solve outer; # not defined then (the interactive) "include foo" gives error message foo, line 6 (offset 146): outer is not defined after which "show Inner;" gave "Inner is undefined. ..." instead of showing Inner. New builtin functions logistic(x) = 1 / (1 + exp(-x)) and signpow(x,y) = if x < 0 then -(-x)^y else x^y = sign(x)*|x|^y. Allow builtin functions to be replaced by imported functions, so, e.g., if amplfunc.dll contains logistic and signpow as above, then function logistic; function signpow; print logistic(1), signpow(-2,3); works (before or after the latest changes), giving output 0.7310585786300049 -8 the same out as just print logistic(1), signpow(-2,3); after the current changes. Previously, without the function, declarations, the above line gave error message syntax error context: print logistic( >>> 1) <<< , signpow(-2,3); Use of logistic and signpow by a solver requires either a suitable amplfunc.dll or an updated (relinked) solver.