| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Replace the regex based whitespace splitting in DefaultCommandParser with a character-by-character state machine that understands backslash escaping and both double and single quote delimiters. The previous regex counted all quote characters equally, so an odd number of escaped quotes made the parser split inside a quoted value. Unbalanced quotes are now rejected with a clear error message instead of producing a mis-parsed command. Resolves spring-projects#1374 Signed-off-by: David Pilar <david@czpilar.net>
The quoting behavior was documented in 2.x but the section was lost in later documentation rewrites. Document the rules implemented by DefaultCommandParser in the command syntax page. See spring-projects#1374 Signed-off-by: David Pilar <david@czpilar.net>
JLine's LineReader strips escape characters from the line returned by readLine() when event expansion is enabled, so escaped quotes typed in interactive mode never reached the command parser. In 3.x this did not matter because the shell consumed the words of JLine's ParsedLine instead of the returned raw line. Disable event expansion on the line reader since escape resolution is the responsibility of the command parser. See spring-projects#1374 Signed-off-by: David Pilar <david@czpilar.net>
| Back | FazBrowse Home | New Git URL |
Replace the regex based whitespace splitting in DefaultCommandParser with a character-by-character state machine that understands backslash escaping and both double and single quote delimiters. The previous regex counted all quote characters equally, so an odd number of escaped quotes made the parser split inside a quoted value. Unbalanced quotes are now rejected with a clear error message instead of producing a mis-parsed command.
Resolves #1374