lib/kramdown/parser/kramdown/table.rb in kramdown-0.13.2 vs lib/kramdown/parser/kramdown/table.rb in kramdown-0.13.3

- old
+ new

@@ -73,22 +73,22 @@ trow = Element.new(:tr) # parse possible code spans on the line and correctly split the line into cells env = save_env cells = [] - (@src[1] + ' ').split(/(<code.*?>.*?<\/code>)/).each_with_index do |str, i| + @src[1].split(/(<code.*?>.*?<\/code>)/).each_with_index do |str, i| if i % 2 == 1 (cells.empty? ? cells : cells.last) << str else reset_env(:src => StringScanner.new(str)) root = Element.new(:root) parse_spans(root, nil, [:codespan]) root.children.each do |c| if c.type == :raw_text # Only on Ruby 1.9: f, *l = c.value.split(/(?<!\\)\|/).map {|t| t.gsub(/\\\|/, '|')} - f, *l = c.value.split(/\\\|/).map {|t| t.split(/\|/)}.inject([]) do |memo, t| - memo.last << "|" << t.shift if memo.size > 0 + f, *l = c.value.split(/\\\|/, -1).map {|t| t.split(/\|/, -1)}.inject([]) do |memo, t| + memo.last << "|#{t.shift}" if memo.size > 0 memo.concat(t) end (cells.empty? ? cells : cells.last) << f cells.concat(l) else