Ensure that __EVAL__ is in the list of loaded files and be smarter about accessing it

This commit is contained in:
Jason Turner 2009-09-22 21:06:02 +00:00
parent bad5384c96
commit b04e01cda7

View File

@ -236,7 +236,15 @@ namespace chaiscript
}
} else {
try {
if (parser.parse(input, loaded_files.find(filename)->c_str())) {
#ifndef CHAISCRIPT_NO_THREADS
boost::shared_lock<boost::shared_mutex> l(mutex);
#endif
const char *fname = loaded_files.find("__EVAL__")->c_str();
#ifndef CHAISCRIPT_NO_THREADS
l.unlock();
#endif
if (parser.parse(input, fname)) {
//parser.show_match_stack();
value = eval_token<Eval_Engine>(engine, parser.ast());
}
@ -283,6 +291,7 @@ namespace chaiscript
public:
ChaiScript_System() {
loaded_files.insert("__EVAL__"); // Make sure the default name is already registered
build_eval_system();
}