diff options
Diffstat (limited to 'lang/cpp/src/editinteractor.cpp')
-rw-r--r-- | lang/cpp/src/editinteractor.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lang/cpp/src/editinteractor.cpp b/lang/cpp/src/editinteractor.cpp index 08cb1bc9..707bf8b9 100644 --- a/lang/cpp/src/editinteractor.cpp +++ b/lang/cpp/src/editinteractor.cpp @@ -96,7 +96,13 @@ public: // advance to next state based on input: const unsigned int oldState = ei->state; - ei->state = ei->q->nextState(status, args, err); + + if (ei->q->needsNoResponse(status)) { + // keep state + } else { + ei->state = ei->q->nextState(status, args, err); + } + if (ei->debug) { std::fprintf(ei->debug, "EditInteractor: %u -> nextState( %s, %s ) -> %u\n", oldState, status_to_string(status), args ? args : "<null>", ei->state); |