Browse Source

Fixed: Wiki section edit escapes pre tags inside pre blocks (#9673).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7976 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/1.3.0
Jean-Philippe Lang 12 years ago
parent
commit
d66c8faa9b

+ 3
- 3
lib/redcloth3.rb View File

@@ -1058,7 +1058,7 @@ class RedCloth3 < String
end
end

def rip_offtags( text, escape_aftertag=true )
def rip_offtags( text, escape_aftertag=true, escape_line=true )
if text =~ /<.*>/
## strip and encode <pre> content
codepre, used_offtags = 0, {}
@@ -1068,7 +1068,7 @@ class RedCloth3 < String
codepre += 1
used_offtags[offtag] = true
if codepre - used_offtags.length > 0
htmlesc( line, :NoQuotes )
htmlesc( line, :NoQuotes ) if escape_line
@pre_list.last << line
line = ""
else
@@ -1086,7 +1086,7 @@ class RedCloth3 < String
end
elsif $1 and codepre > 0
if codepre - used_offtags.length > 0
htmlesc( line, :NoQuotes )
htmlesc( line, :NoQuotes ) if escape_line
@pre_list.last << line
line = ""
end

+ 1
- 1
lib/redmine/wiki_formatting/textile/formatter.rb View File

@@ -57,7 +57,7 @@ module Redmine
def extract_sections(index)
@pre_list = []
text = self.dup
rip_offtags text, false
rip_offtags text, false, false
before = ''
s = ''
after = ''

+ 5
- 0
test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb View File

@@ -284,6 +284,11 @@ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed libero.",
end
</code></pre>

<pre><code><pre><code class=\"ruby\">
Place your code here.
</code></pre>
</code></pre>

Morbi facilisis accumsan orci non pharetra.

<pre>

Loading…
Cancel
Save