From 3435f0c106fac2dda1d4869c9faf9bccded5678f Mon Sep 17 00:00:00 2001 From: shyouhei Date: Mon, 23 Feb 2009 17:43:45 +0000 Subject: merge revision(s) 21432: * lib/erb.rb (PercentScanner): remove PercentScanner. fixed % after %> bug. [ruby-dev:37751] [Bug #997] * test/erb/test_erb.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@22581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ lib/erb.rb | 28 ---------------------------- test/erb/test_erb.rb | 4 ++++ version.h | 8 ++++---- 4 files changed, 15 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1da88ac635..316f812fd8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Feb 24 02:41:47 2009 Masatoshi SEKI + + * lib/erb.rb (PercentScanner): remove PercentScanner. fixed % after + %> bug. [ruby-dev:37751] [Bug #997] + + * test/erb/test_erb.rb: ditto + Sun Feb 22 22:05:44 2009 Nobuyoshi Nakada * eval.c (stack_extend): streamlined rb_thread_restore_context() diff --git a/lib/erb.rb b/lib/erb.rb index d7c72b4988..d111e8f999 100644 --- a/lib/erb.rb +++ b/lib/erb.rb @@ -422,34 +422,6 @@ class ERB end Scanner.regist_scanner(SimpleScanner2, nil, false) - class PercentScanner < Scanner # :nodoc: - def scan - new_line = true - stag_reg = /(.*?)(<%%|<%=|<%#|<%|\n|\z)/ - etag_reg = /(.*?)(%%>|%>|\n|\z)/ - scanner = StringScanner.new(@src) - while ! scanner.eos? - if new_line && @stag.nil? - if scanner.scan(/%%/) - yield('%') - new_line = false - next - elsif scanner.scan(/%/) - yield(PercentLine.new(scanner.scan(/.*?(\n|\z)/).chomp)) - next - end - end - scanner.scan(@stag ? etag_reg : stag_reg) - text = scanner[1] - elem = scanner[2] - yield(text) unless text.empty? - yield(elem) unless elem.empty? - new_line = (elem == "\n") - end - end - end - Scanner.regist_scanner(PercentScanner, nil, true) - class ExplicitScanner < Scanner # :nodoc: def scan new_line = true diff --git a/test/erb/test_erb.rb b/test/erb/test_erb.rb index 832c2f29b9..f4f9474185 100644 --- a/test/erb/test_erb.rb +++ b/test/erb/test_erb.rb @@ -408,6 +408,10 @@ EOS assert_equal(ans, ERB.new(src, nil, '-').result) assert_equal(ans, ERB.new(src, nil, '-%').result) end + + def test_percent_after_etag + assert_equal("1%", @erb.new("<%= 1 %>%", nil, "%").result) + end end class TestERBCoreWOStrScan < TestERBCore diff --git a/version.h b/version.h index e2cf7b6142..125e2e585c 100644 --- a/version.h +++ b/version.h @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.6" -#define RUBY_RELEASE_DATE "2009-02-22" +#define RUBY_RELEASE_DATE "2009-02-24" #define RUBY_VERSION_CODE 186 -#define RUBY_RELEASE_CODE 20090222 -#define RUBY_PATCHLEVEL 351 +#define RUBY_RELEASE_CODE 20090224 +#define RUBY_PATCHLEVEL 352 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 6 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 2 -#define RUBY_RELEASE_DAY 22 +#define RUBY_RELEASE_DAY 24 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- cgit v1.2.3