diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/rexml/text.rb | 11 |
2 files changed, 13 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Sun Jul 7 11:34:18 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/text.rb (REXML::Text#clear_cache): Extract common + cache clear code. + Sun Jul 7 11:01:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11 diff --git a/lib/rexml/text.rb b/lib/rexml/text.rb index 23b17a7608..90099f4566 100644 --- a/lib/rexml/text.rb +++ b/lib/rexml/text.rb @@ -103,7 +103,7 @@ module REXML @raw = raw unless raw.nil? @entity_filter = entity_filter - @normalized = @unnormalized = nil + clear_cache if arg.kind_of? String @string = arg.dup @@ -256,8 +256,7 @@ module REXML # e[0].value = "<a>" # <a><a></a> def value=( val ) @string = val.gsub( /\r\n?/, "\n" ) - @unnormalized = nil - @normalized = nil + clear_cache @raw = false end @@ -331,6 +330,12 @@ module REXML out << copy end + private + def clear_cache + @normalized = nil + @unnormalized = nil + end + # Reads text, substituting entities def Text::read_with_substitution( input, illegal=nil ) copy = input.clone |