diff options
Diffstat (limited to 'lib/rdoc/encoding.rb')
-rw-r--r-- | lib/rdoc/encoding.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/rdoc/encoding.rb b/lib/rdoc/encoding.rb index 5327f9a961..1056827937 100644 --- a/lib/rdoc/encoding.rb +++ b/lib/rdoc/encoding.rb @@ -74,10 +74,21 @@ module RDoc::Encoding nil end + def self.remove_frozen_string_literal string + string =~ /\A(?:#!.*\n)?(.*\n)/ + first_line = $1 + + if first_line =~ /\A# +frozen[-_]string[-_]literal[=:].+$/i + string.sub! first_line, '' + end + end + ## # Sets the encoding of +string+ based on the magic comment def self.set_encoding string + remove_frozen_string_literal string + string =~ /\A(?:#!.*\n)?(.*\n)/ first_line = $1 @@ -90,6 +101,8 @@ module RDoc::Encoding string.sub! first_line, '' + remove_frozen_string_literal string + return unless Object.const_defined? :Encoding enc = Encoding.find name |