Fix line breaks ruining call tag regexp #109
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Per issue #108, if you used a line break sequence "\n" inside a
<call>
tag, it would break the regular expression trying to match the<call>...</call>
sequence because this regexp couldn't handle line breaks.JavaScript regexp doesn't support the
/.../s
flag which would make the.
metacharacter match line break characters. The workaround is to replace the.
metacharacter with the sequence[\s\S]
to match spaces and non-space characters (essentially forcing it to match everything, including line breaks).Additionally, I changed the code to call the new
utils.trim()
function (which is a more compatible version ofString.prototype.trim()
to support Internet Explorer < 9) instead of theutils.strip()
function -- because that function would remove line breaks anywhere in a string, negating the whole point of allowing "\n" to appear inside a<call>
tag.This code fixes #108.