summaryrefslogtreecommitdiff
path: root/lib/rdoc
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-23 21:10:42 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-23 21:10:42 +0000
commit74d704c2635484a12a47aeb2fbcf4c5f48cdbebd (patch)
treed92f534980fee2b66f1b06cc930b3f192bd82d21 /lib/rdoc
parent2d0e62faf11eeee5c7564113ae76ddae49626087 (diff)
Fix constant value extraction. Escape HTML in constant values
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc')
-rw-r--r--lib/rdoc/generators/html_generator.rb2
-rw-r--r--lib/rdoc/parsers/parse_rb.rb12
2 files changed, 11 insertions, 3 deletions
diff --git a/lib/rdoc/generators/html_generator.rb b/lib/rdoc/generators/html_generator.rb
index b7d3961b45..a6a38f6a5c 100644
--- a/lib/rdoc/generators/html_generator.rb
+++ b/lib/rdoc/generators/html_generator.rb
@@ -348,7 +348,7 @@ module Generators
@context.constants.map do |co|
res = {
'name' => co.name,
- 'value' => co.value
+ 'value' => CGI.escapeHTML(co.value)
}
res['desc'] = markup(co.comment, true) if co.comment && !co.comment.empty?
res
diff --git a/lib/rdoc/parsers/parse_rb.rb b/lib/rdoc/parsers/parse_rb.rb
index 413167a39a..fd57ee2e4b 100644
--- a/lib/rdoc/parsers/parse_rb.rb
+++ b/lib/rdoc/parsers/parse_rb.rb
@@ -1510,6 +1510,10 @@ module RDoc
read
end
+ def peek_read
+ @read.join('')
+ end
+
NORMAL = "::"
SINGLE = "<<"
@@ -1814,6 +1818,10 @@ module RDoc
return
end
+
+ nest = 0
+ get_tkread
+
tk = get_tk
if tk.kind_of? TkGT
unget_tk(tk)
@@ -1821,11 +1829,10 @@ module RDoc
return
end
- nest = 0
- get_tkread
loop do
puts("Param: #{tk}, #{@scanner.continue} " +
"#{@scanner.lex_state} #{nest}") if $DEBUG
+
case tk
when TkSEMICOLON
break
@@ -1846,6 +1853,7 @@ module RDoc
end
tk = get_tk
end
+
res = get_tkread.tr("\n", " ").strip
res = "" if res == ";"
con = Constant.new(name, res, comment)