parser-initiating-commandsThe first step of a parser-initiating command is to check the syntactic correctness of the current structural selection. The parser is invoked only if (1) auto-parsing mode is enabled, (2) the current structural selection is a text buffer, and (3a) either no attempt has ever been made to parse the given text buffer, or (3b) the text buffer has been modified since the last attempt to parse it. If parsing fails, a syntax-error message is issued, the insertion cursor is positioned near the error, and the rest of the command is cancelled.
If a syntax error was detected in a text buffer but the text buffer has not been subsequently modified, parser-initiating commands skip the step of checking the syntactic correctness of the text buffer. Thus, a syntax error can be ``overridden'' by immediately re-invoking the same command that caused the syntax error to be detected. Because the parser is only called on text buffers that have been modified since a parse was last attempted, the structural selection can pass through regions of the object containing syntactically incorrect text buffers without initiating parsing.