def restore_passthroughs text, outer = true
if outer && (@passthroughs.empty? || !text.include?(PASS_START))
return text
end
text.gsub(PASS_MATCH) {
pass = @passthroughs[$~[1].to_i]
subbed_text = (subs = pass[:subs]) ? apply_subs(pass[:text], subs) : pass[:text]
if (type = pass[:type])
subbed_text = Inline.new(self, :quoted, subbed_text, :type => type, :attributes => pass[:attributes]).convert
end
subbed_text.include?(PASS_START) ? restore_passthroughs(subbed_text, false) : subbed_text
}
ensure
@passthroughs.clear if outer
end