Hello,
Your problem is independant of Eg prompts.
When a macrovariable is created as follows :
%let mv1=1; %let mv2=2;
%let mv=&mv1.+&mv2.;
The compiler only performs text substitution so you wil end up with &mv.=1+2.
If you want to evaluate the resulting expression you have to enclose the whole
expression in an evaluation function %eval() or %sysevalf
%let mv=%eval(&mv1.+&mv2.); /* => 3 */