aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc/encoding.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/encoding.rb')
-rw-r--r--lib/rdoc/encoding.rb13
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