diff --git a/lib/rdoc/ruby_lex.rb b/lib/rdoc/ruby_lex.rb index c2b4e9857a..3c15af0500 100644 --- a/lib/rdoc/ruby_lex.rb +++ b/lib/rdoc/ruby_lex.rb @@ -1337,7 +1337,6 @@ def identify_string(ltype, quoted = ltype, type = nil) when "'", '\\' then str << ch else - str << '\\' str << ch end else diff --git a/test/test_rdoc_ruby_lex.rb b/test/test_rdoc_ruby_lex.rb index f4d98e756b..9687532c93 100644 --- a/test/test_rdoc_ruby_lex.rb +++ b/test/test_rdoc_ruby_lex.rb @@ -455,6 +455,17 @@ def test_class_tokenize_regexp_continuing_backslash assert_equal expected, tokens end + def test_class_tokenize_single_quote_escape + tokens = RDoc::RubyLex.tokenize %q{'\\\\ \\' \\&'}, nil + + expected = [ + @TK::TkSTRING.new( 0, 1, 0, %q{'\\\\ \\' \\&'}), + @TK::TkNL .new(10, 1, 10, "\n"), + ] + + assert_equal expected, tokens + end + def test_class_tokenize_string tokens = RDoc::RubyLex.tokenize "'hi'", nil