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>
|
Sun Feb 22 22:05:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (stack_extend): streamlined rb_thread_restore_context()
|
* eval.c (stack_extend): streamlined rb_thread_restore_context()
|
||||||
|
|
|
||||||
28
lib/erb.rb
28
lib/erb.rb
|
|
@ -422,34 +422,6 @@ class ERB
|
||||||
end
|
end
|
||||||
Scanner.regist_scanner(SimpleScanner2, nil, false)
|
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:
|
class ExplicitScanner < Scanner # :nodoc:
|
||||||
def scan
|
def scan
|
||||||
new_line = true
|
new_line = true
|
||||||
|
|
|
||||||
|
|
@ -408,6 +408,10 @@ EOS
|
||||||
assert_equal(ans, ERB.new(src, nil, '-').result)
|
assert_equal(ans, ERB.new(src, nil, '-').result)
|
||||||
assert_equal(ans, ERB.new(src, nil, '-%').result)
|
assert_equal(ans, ERB.new(src, nil, '-%').result)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_percent_after_etag
|
||||||
|
assert_equal("1%", @erb.new("<%= 1 %>%", nil, "%").result)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class TestERBCoreWOStrScan < TestERBCore
|
class TestERBCoreWOStrScan < TestERBCore
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
#define RUBY_VERSION "1.8.6"
|
#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_VERSION_CODE 186
|
||||||
#define RUBY_RELEASE_CODE 20090222
|
#define RUBY_RELEASE_CODE 20090224
|
||||||
#define RUBY_PATCHLEVEL 351
|
#define RUBY_PATCHLEVEL 352
|
||||||
|
|
||||||
#define RUBY_VERSION_MAJOR 1
|
#define RUBY_VERSION_MAJOR 1
|
||||||
#define RUBY_VERSION_MINOR 8
|
#define RUBY_VERSION_MINOR 8
|
||||||
#define RUBY_VERSION_TEENY 6
|
#define RUBY_VERSION_TEENY 6
|
||||||
#define RUBY_RELEASE_YEAR 2009
|
#define RUBY_RELEASE_YEAR 2009
|
||||||
#define RUBY_RELEASE_MONTH 2
|
#define RUBY_RELEASE_MONTH 2
|
||||||
#define RUBY_RELEASE_DAY 22
|
#define RUBY_RELEASE_DAY 24
|
||||||
|
|
||||||
#ifdef RUBY_EXTERN
|
#ifdef RUBY_EXTERN
|
||||||
RUBY_EXTERN const char ruby_version[];
|
RUBY_EXTERN const char ruby_version[];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue