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

end end
end end


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

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

def extract_sections(index) def extract_sections(index)
@pre_list = [] @pre_list = []
text = self.dup text = self.dup
rip_offtags text, false
rip_offtags text, false, false
before = '' before = ''
s = '' s = ''
after = '' after = ''

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

end end
</code></pre> </code></pre>


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

Morbi facilisis accumsan orci non pharetra. Morbi facilisis accumsan orci non pharetra.


<pre> <pre>

Loading…
Cancel
Save