Log Message:
-----------
If constant functions are not being reduced, don't mark the function
call as constant (since otherwise it might be evaluated later accidentally).
Modified Files:
--------------
pg/lib/Parser:
Function.pm
Revision Data
-------------
Index: Function.pm
===================================================================
RCS file: /webwork/cvs/system/pg/lib/Parser/Function.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -Llib/Parser/Function.pm -Llib/Parser/Function.pm -u -r1.17 -r1.18
--- lib/Parser/Function.pm
+++ lib/Parser/Function.pm
@@ -21,8 +21,9 @@
}, $def->{class};
$fn->{isConstant} = $constant;
$fn->_check;
- $fn = $context->{parser}{Value}->new($equation,[$fn->eval])
+ return $context->{parser}{Value}->new($equation,[$fn->eval])
if $constant && $context->flag('reduceConstantFunctions');
+ $fn->{isConstant} = 0;
return $fn;
}
@@ -79,6 +80,7 @@
{$x = $x->substitute; $constant = 0 unless $x->{isConstant}}
return $context->{parser}{Value}->new($equation,[$self->eval])
if $constant && $context->flag('reduceConstantFunctions');
+ $self->{isConstant} = 0;
return $self;
}
|