diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-03-05 15:39:36 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-03-05 15:39:36 +0000 |
commit | 089b2fb9fc4aace5dca759eec87c980c780192d5 (patch) | |
tree | 5659343c54fced2149aa252b75c62b82e6f16641 /lib/gitlab | |
parent | fa1debefe7feb7980863aaa383d5a02e488b9a94 (diff) | |
parent | cb55bc3c0770adf7122d7cf49b12cb45c43de7ec (diff) | |
download | gitlab-ce-089b2fb9fc4aace5dca759eec87c980c780192d5.tar.gz |
Merge branch '41719-mr-title-fix' into 'master'
Render htmlentities correctly for links not supported by Rinku
Closes #41719
See merge request gitlab-org/gitlab-ce!17180
Diffstat (limited to 'lib/gitlab')
-rw-r--r-- | lib/gitlab/string_range_marker.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/string_regex_marker.rb | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/gitlab/string_range_marker.rb b/lib/gitlab/string_range_marker.rb index f9faa134206..c6ad997a4d4 100644 --- a/lib/gitlab/string_range_marker.rb +++ b/lib/gitlab/string_range_marker.rb @@ -14,7 +14,7 @@ module Gitlab end def mark(marker_ranges) - return rich_line unless marker_ranges + return rich_line unless marker_ranges&.any? if html_escaped rich_marker_ranges = [] diff --git a/lib/gitlab/string_regex_marker.rb b/lib/gitlab/string_regex_marker.rb index 7ebf1c0428c..b19aa6dea35 100644 --- a/lib/gitlab/string_regex_marker.rb +++ b/lib/gitlab/string_regex_marker.rb @@ -1,13 +1,15 @@ module Gitlab class StringRegexMarker < StringRangeMarker def mark(regex, group: 0, &block) - regex_match = raw_line.match(regex) - return rich_line unless regex_match + ranges = [] - begin_index, end_index = regex_match.offset(group) - name_range = begin_index..(end_index - 1) + raw_line.scan(regex) do + begin_index, end_index = Regexp.last_match.offset(group) - super([name_range], &block) + ranges << (begin_index..(end_index - 1)) + end + + super(ranges, &block) end end end |