diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2010-03-11 19:55:31 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2010-03-11 19:55:31 +0000 |
commit | 4e5078ebb0fb183da33f9be2abf4bf8976c45445 (patch) | |
tree | 39988652da0d139d717e1709718480b8f58cbf29 /lib/redcloth3.rb | |
parent | c7c3c0cc7c7d20407ac5e4a2ecd5d84da01d3788 (diff) | |
download | redmine-4e5078ebb0fb183da33f9be2abf4bf8976c45445.tar.gz redmine-4e5078ebb0fb183da33f9be2abf4bf8976c45445.zip |
Fixed: some textile modifiers combinations don't work, eg. bold inside underline (#5045).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3561 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redcloth3.rb')
-rw-r--r-- | lib/redcloth3.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/redcloth3.rb b/lib/redcloth3.rb index 79dd0b6bb..37816a06a 100644 --- a/lib/redcloth3.rb +++ b/lib/redcloth3.rb @@ -373,17 +373,21 @@ class RedCloth3 < String ['^', 'sup', :limit], ['~', 'sub', :limit] ] + QTAGS_JOIN = QTAGS.map {|rc, ht, rtype| Regexp::quote rc}.join('|') + QTAGS.collect! do |rc, ht, rtype| rcq = Regexp::quote rc re = case rtype when :limit /(^|[>\s\(]) + (#{QTAGS_JOIN}|) (#{rcq}) (#{C}) (?::(\S+?))? - (\w|[^\s\-].*?[^\s\-]) + (\w|[^\s].*?[^\s]) #{rcq} + (#{QTAGS_JOIN}|) (?=[[:punct:]]|\s|\)|$)/x else /(#{rcq}) @@ -768,7 +772,7 @@ class RedCloth3 < String case rtype when :limit - sta,qtag,atts,cite,content = $~[1..5] + sta,oqs,qtag,atts,cite,content,oqa = $~[1..7] else qtag,atts,cite,content = $~[1..4] sta = '' @@ -777,7 +781,7 @@ class RedCloth3 < String atts << " cite=\"#{ cite }\"" if cite atts = shelve( atts ) if atts - "#{ sta }<#{ ht }#{ atts }>#{ content }</#{ ht }>" + "#{ sta }#{ oqs }<#{ ht }#{ atts }>#{ content }</#{ ht }>#{ oqa }" end end |