summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundled_gems.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/bundled_gems.rb b/lib/bundled_gems.rb
index e49d6fbdcf..50fc31937c 100644
--- a/lib/bundled_gems.rb
+++ b/lib/bundled_gems.rb
@@ -99,11 +99,14 @@ module Gem::BUNDLED_GEMS # :nodoc:
# and `require "syslog"` to `require "#{ARCHDIR}/syslog.so"`.
feature.delete_prefix!(ARCHDIR)
feature.delete_prefix!(LIBDIR)
- segments = feature.split("/")
+ # 1. A segment for the EXACT mapping and SINCE check
+ # 2. A segment for the SINCE check for dashed names
+ # 3. A segment to check if there's a subfeature
+ segments = feature.split("/", 3)
name = segments.shift
name = EXACT[name] || name
if !SINCE[name]
- name = [name, segments.shift].join("-")
+ name = "#{name}-#{segments.shift}"
return unless SINCE[name]
end
segments.any?