285 int braces=0, brackets=0;
288 cmd <<
"savebgerror\n";
291 eco_string prompt((
const char*)tclvar(
"argv(0)")); prompt+=
'>';
292 while ( (c=readline(const_cast<char*>(prompt.c_str())))!=NULL && strcmp(c,
"exit")!=0)
295 while (fgets(c,512,stdin)!=NULL && strcmp(c,
"exit\n")!=0)
299 for (
char* cc=c; *cc!=
'\0'; ++cc)
303 if (!inString) braces++;
306 if (!inString) brackets++;
309 if (!inString) braces--;
312 if (!inString) brackets--;
318 inString = !inString;
322 if (!inString && braces<=0 && brackets <=0)
328 catch (std::exception& e) {fputs(
e.what(),stderr);}
329 catch (...) {fputs(
"caught unknown exception",stderr);}
330 puts(cmd.result.c_str());
333 if (strlen(c)) add_history(c);
337 cmd <<
"restorebgerror\n";