mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
This commit is contained in:
parent
214d80f89c
commit
3435f0c106
4 changed files with 15 additions and 32 deletions
|
|
@ -1,3 +1,10 @@
|
|||
Tue Feb 24 02:41:47 2009 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
|
||||
|
||||
* 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 <nobu@ruby-lang.org>
|
||||
|
||||
* eval.c (stack_extend): streamlined rb_thread_restore_context()
|
||||
|
|
|
|||
28
lib/erb.rb
28
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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[];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue