diff --git a/reading_machine/src/Action.cpp b/reading_machine/src/Action.cpp index 2d0aa648779929933f0461a0159c0dc84f879f4d..4dc7d6f74168f2c527117f0be42c8792bf19b7c3 100644 --- a/reading_machine/src/Action.cpp +++ b/reading_machine/src/Action.cpp @@ -386,7 +386,15 @@ Action Action::addCurCharToCurWord() auto appliable = [](const Config & config, const Action &) { - return config.hasCharacter(config.getCharacterIndex()) and !util::isIllegal(config.getLetter(config.getCharacterIndex())); + if (!config.hasCharacter(config.getCharacterIndex())) + return false; + + auto letter = config.getLetter(config.getCharacterIndex()); + + if (letter == ' ') + return !util::isEmpty(config.getAsFeature("FORM", config.getWordIndex())); + + return !util::isIllegal(letter); }; return {Type::Write, apply, undo, appliable};