diff --git a/src/patterns.js b/src/patterns.js index 99c08cd13ad6a3dda1e11d6c6ada1166d05e9dbb..cd62af667a8b37a7ee7dda408a964e69237e072b 100644 --- a/src/patterns.js +++ b/src/patterns.js @@ -632,11 +632,12 @@ }; } success = subMatch.success; - patternEnv = loadPatternEnv(patternEnv, - subMatch.patternEnv, - topLevel, - pattern.repeat); - + if(success) { + patternEnv = loadPatternEnv(patternEnv, + subMatch.patternEnv, + topLevel, + pattern.repeat); + } } else { if (pattern.class === "wildcard") { success = true;