summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/scheme/environment.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/trunk/modules/scheme/environment.hpp')
-rw-r--r--sca-cpp/trunk/modules/scheme/environment.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/sca-cpp/trunk/modules/scheme/environment.hpp b/sca-cpp/trunk/modules/scheme/environment.hpp
index bfb415a978..303a37cb3c 100644
--- a/sca-cpp/trunk/modules/scheme/environment.hpp
+++ b/sca-cpp/trunk/modules/scheme/environment.hpp
@@ -118,8 +118,11 @@ const value definitionVariable(const value& exp) {
const value definitionValue(const value& exp) {
const list<value> exps(exp);
- if(isSymbol(car(cdr(exps))))
+ if(isSymbol(car(cdr(exps)))) {
+ if (isNil(cdr(cdr(exps))))
+ return value();
return car(cdr(cdr(exps)));
+ }
const list<value> lexps(car(cdr(exps)));
return makeLambda(cdr(lexps), cdr(cdr(exps)));
}