diff --git a/lib/liquid/expression.rb b/lib/liquid/expression.rb index 32f357e7..2bef9cb5 100644 --- a/lib/liquid/expression.rb +++ b/lib/liquid/expression.rb @@ -89,9 +89,7 @@ module Liquid # Cache only exists during parsing if cache - return cache[markup] if cache.key?(markup) - - cache[markup] = inner_parse(markup, ss, cache).freeze + cache.fetch(markup) { inner_parse(markup, ss, cache).freeze } else inner_parse(markup, ss, nil).freeze end