| 1218 | } |
| 1219 | |
| 1220 | void fxDebugThrow(txMachine* the, txString path, txInteger line, txString message) |
| 1221 | { |
| 1222 | if (the->debugEval) |
| 1223 | return; |
| 1224 | if (fxIsConnected(the) && (the->breakOnExceptionsFlag)) |
| 1225 | fxDebugLoop(the, path, line, message); |
| 1226 | else { |
| 1227 | txSlot* frame = the->frame; |
| 1228 | while (frame && !path) { |
| 1229 | txSlot* environment = mxFrameToEnvironment(frame); |
| 1230 | if (environment->ID != XS_NO_ID) { |
| 1231 | path = fxGetKeyName(the, environment->ID); |
| 1232 | line = environment->value.environment.line; |
| 1233 | } |
| 1234 | frame = frame->next; |
| 1235 | } |
| 1236 | fxReportException(the, path, line, "%s", message); |
| 1237 | } |
| 1238 | } |
| 1239 | |
| 1240 | void fxEcho(txMachine* the, txString theString) |
| 1241 | { |
no test coverage detected