Blob Blame History Raw
t a/lib/rdoc/ruby_lex.rb b/lib/rdoc/ruby_lex.rb
index e6e0b41..da17cd5 100644
--- a/lib/rdoc/ruby_lex.rb
+++ b/lib/rdoc/ruby_lex.rb
@@ -1028,6 +1028,8 @@ def identify_here_document
     end
 
     if output_heredoc then
+      raise Error, "Missing terminating #{quoted} for string" unless l
+
       doc << l.chomp
     else
       doc << '"'
diff --git a/test/rdoc/test_rdoc_ruby_lex.rb b/test/rdoc/test_rdoc_ruby_lex.rb
index 0dcb425..56ddf60 100644
--- a/test/rdoc/test_rdoc_ruby_lex.rb
+++ b/test/rdoc/test_rdoc_ruby_lex.rb
@@ -162,6 +162,18 @@ def test_class_tokenize_heredoc_indent
     assert_equal expected, tokens
   end
 
+  def test_class_tokenize_heredoc_missing_end
+    e = assert_raises RDoc::RubyLex::Error do
+      RDoc::RubyLex.tokenize <<-'RUBY', nil
+>> string1 = <<-TXT
+>" That's swell
+>" TXT
+      RUBY
+    end
+
+    assert_equal 'Missing terminating TXT for string', e.message
+  end
+
   def test_class_tokenize_heredoc_percent_N
     tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
 a b <<-U
-- 
1.8.4