summaryrefslogtreecommitdiff
path: root/lib/rdoc/markup/parser.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-31 00:19:00 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-31 00:19:00 +0000
commit89b601d176a64f1293a3d3b5195b6735cbf880af (patch)
treec7f148e8cf8576202220ce567dc8b9a698e4b114 /lib/rdoc/markup/parser.rb
parent4ac69a57b5e8587a321b052212ae5b9bedeafe55 (diff)
* lib/rdoc: Update to RDoc 3.9. Fixed `ri []`, stopdoc creating an
object reference, nodoc for class aliases, verbatim === lines. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc/markup/parser.rb')
-rw-r--r--lib/rdoc/markup/parser.rb18
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/rdoc/markup/parser.rb b/lib/rdoc/markup/parser.rb
index 68616d7787..3ab72ee5d5 100644
--- a/lib/rdoc/markup/parser.rb
+++ b/lib/rdoc/markup/parser.rb
@@ -405,13 +405,19 @@ class RDoc::Markup::Parser
@line += 1
token
# === text => :HEADER then :TEXT
- when s.scan(/(=+)\s*/) then
+ when s.scan(/(=+)(\s*)/) then
level = s[1].length
- level = 6 if level > 6
- @tokens << [:HEADER, level, *token_pos(pos)]
- pos = s.pos
- s.scan(/.*/)
- [:TEXT, s.matched.sub(/\r$/, ''), *token_pos(pos)]
+ header = [:HEADER, level, *token_pos(pos)]
+
+ if s[2] =~ /^\r?\n/ then
+ s.pos -= s[2].length
+ header
+ else
+ pos = s.pos
+ s.scan(/.*/)
+ @tokens << header
+ [:TEXT, s.matched.sub(/\r$/, ''), *token_pos(pos)]
+ end
# --- (at least 3) and nothing else on the line => :RULE
when s.scan(/(-{3,}) *$/) then
[:RULE, s[1].length - 2, *token_pos(pos)]