summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/erb.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/erb.rb b/lib/erb.rb
index 5f36a8dd11..e89d9c1fd0 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -429,10 +429,10 @@ class ERB
end
def trim_line1(line)
- line.scan(/(.*?)(<%%|%%>|<%=|<%#|<%|%>\n|%>|\n|\z)/m) do |tokens|
+ line.scan(/(.*?)(<%%|%%>|<%=|<%#|<%|%>\r?\n|%>|\n|\z)/m) do |tokens|
tokens.each do |token|
next if token.empty?
- if token == "%>\n"
+ if token == "%>\n" || token == "%>\r\n"
yield('%>')
yield(:cr)
else
@@ -465,12 +465,12 @@ class ERB
end
def explicit_trim_line(line)
- line.scan(/(.*?)(^[ \t]*<%\-|<%\-|<%%|%%>|<%=|<%#|<%|-%>\n|-%>|%>|\z)/m) do |tokens|
+ line.scan(/(.*?)(^[ \t]*<%\-|<%\-|<%%|%%>|<%=|<%#|<%|-%>\r?\n|-%>|%>|\z)/m) do |tokens|
tokens.each do |token|
next if token.empty?
if @stag.nil? && /[ \t]*<%-/ =~ token
yield('<%')
- elsif @stag && token == "-%>\n"
+ elsif @stag && token == "-%>\n" || token == "-%>\r\n"
yield('%>')
yield(:cr)
elsif @stag && token == '-%>'
@@ -533,7 +533,7 @@ class ERB
yield('<%')
elsif elem == '-%>'
yield('%>')
- yield(:cr) if scanner.scan(/(\n|\z)/)
+ yield(:cr) if scanner.scan(/(\r?\n|\z)/)
else
yield(elem)
end