diff options
Diffstat (limited to 'src/parser.c')
-rw-r--r-- | src/parser.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/parser.c b/src/parser.c index f4f7595..044a741 100644 --- a/src/parser.c +++ b/src/parser.c @@ -355,6 +355,13 @@ teco_machine_main_transition_input(teco_machine_main_t *ctx, return NULL; } + if ((ctx->modifier_at && !transitions[chr].modifier_at) || + (ctx->mode == TECO_MODE_NORMAL && + ctx->modifier_colon > transitions[chr].modifier_colon)) { + teco_error_modifier_set(error, chr); + return NULL; + } + if (ctx->mode == TECO_MODE_NORMAL && transitions[chr].transition_cb) { /* * NOTE: We could also just let transition_cb return a boolean... |