Merged r12046 from trunk to 2.3-stable (#14562)

fix diff of CJK (Chinese/Japanese/Korean) is broken on Ruby 1.8.

Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@12054 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA
2013-07-28 12:53:51 +00:00
parent b724eb4fec
commit bbf3ffe0aa
5 changed files with 80 additions and 3 deletions
+11 -3
View File
@@ -205,12 +205,20 @@ module Redmine
end
end
ending = -1
while ending >= -(max - starting) && line_left[ending] == line_right[ending]
while ending >= -(max - starting) && (line_left[ending] == line_right[ending])
ending -= 1
end
if (! "".respond_to?(:force_encoding)) && ending > (-1 * line_left.size)
while line_left[ending].ord.between?(128, 191) && ending > -1
ending -= 1
while line_left[ending].ord.between?(128, 255) && ending < -1
if line_left[ending].ord.between?(128, 191)
if line_left[ending + 1].ord.between?(128, 191)
ending += 1
else
break
end
else
ending += 1
end
end
end
unless starting == 0 && ending == -1