The AST of "echo [[:invalid:]]" is (LIST (COMMAND (STRING echo) (STRING (MATCH_ANY (CHARACTER_CLASS invalid))))) It's not correct as patterns shouldn't be command argument. It should be parsed verbatim as a string.
Patterns can be command arguments. Invalid patterns need to be passed through verbatim.
Developer retired (and his mail address is not active anymore)