rdoc 2.4.1 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,28 @@
1
+ === 2.4.2 / 2009-03-25
2
+
3
+ * 2 Minor Enhancements
4
+ * Added --pipe for turning RDoc on stdin into HTML
5
+ * Added rdoc/task.rb containing a replacement for rake/rdoctask.rb. Use
6
+ RDoc::Task now instead of Rake::RDocTask.
7
+
8
+ * 10 Bug Fixes
9
+ * Writing the ri cache file to the proper directory. Bug #24459 by Lars
10
+ Christensen.
11
+ * Possible fix for Dir::[] and Pathname interaction on 1.9. Bug #24650 by
12
+ tiburon.
13
+ * Fixed scanning constants for if/end, etc. pairs. Bug #24609 by Ryan
14
+ Davis.
15
+ * Fixed private methods in the C parser. Bug #24599 by Aaron Patterson.
16
+ * Fixed display of markup on RDoc main page. Bug #24168 by rhubarb.
17
+ * Fixed display of \\ character in documentation proceeding words.
18
+ Bug #22112 by James Gray. See RDoc for details.
19
+ * Fixed parsing and display of arg params for some corner cases. Bug #21113
20
+ by Csiszár Attila.
21
+ * Fixed links in Files box. Patch #24403 by Eric Wong.
22
+ * Toplevel methods now appear in Object. Bug #22677 by Ryan Davis.
23
+ * Added back --promiscuous which didn't do anything you cared about. Why
24
+ did you enable it? Nobody looked at that page! Oh, it warns, too.
25
+
1
26
  === 2.4.1 / 2009-02-26
2
27
 
3
28
  * 1 Minor Enhancements
@@ -92,6 +92,7 @@ lib/rdoc/ri/util.rb
92
92
  lib/rdoc/ri/writer.rb
93
93
  lib/rdoc/single_class.rb
94
94
  lib/rdoc/stats.rb
95
+ lib/rdoc/task.rb
95
96
  lib/rdoc/tokenstream.rb
96
97
  lib/rdoc/top_level.rb
97
98
  test/binary.dat
@@ -119,6 +120,7 @@ test/test_rdoc_ri_driver.rb
119
120
  test/test_rdoc_ri_formatter.rb
120
121
  test/test_rdoc_ri_html_formatter.rb
121
122
  test/test_rdoc_ri_overstrike_formatter.rb
123
+ test/test_rdoc_task.rb
122
124
  test/test_rdoc_top_level.rb
123
125
  test/xref_data.rb
124
126
  test/xref_test_case.rb
data/Rakefile CHANGED
@@ -14,6 +14,7 @@ Hoe.new "rdoc", RDoc::VERSION do |rdoc|
14
14
 
15
15
  rdoc.extra_dev_deps << ['minitest', '~> 1.3']
16
16
  rdoc.spec_extras['required_rubygems_version'] = '>= 1.3'
17
+ rdoc.spec_extras['homepage'] = 'http://rdoc.rubyforge.org'
17
18
  end
18
19
 
19
20
  # These tasks expect to have the following directory structure:
@@ -61,6 +61,7 @@ $DEBUG_RDOC = nil
61
61
  # recursively for C and Ruby source files only.
62
62
  #
63
63
  # == \Options
64
+ #
64
65
  # rdoc can be passed a variety of command-line options. In addition,
65
66
  # options can be specified via the +RDOCOPT+ environment variable, which
66
67
  # functions similarly to the +RUBYOPT+ environment variable.
@@ -70,28 +71,15 @@ $DEBUG_RDOC = nil
70
71
  # will make rdoc default to inline method source code. Command-line options
71
72
  # always will override those in +RDOCOPT+.
72
73
  #
73
- # Run
74
+ # Run:
74
75
  #
75
- # % rdoc --help
76
+ # rdoc --help
76
77
  #
77
78
  # for full details on rdoc's options.
78
79
  #
79
- # Here are some of the most commonly used options.
80
- # [-d, --diagram]
81
- # Generate diagrams showing modules and
82
- # classes. You need dot V1.8.6 or later to
83
- # use the --diagram option correctly. Dot is
84
- # available from http://graphviz.org
85
- #
86
- # [-S, --inline-source]
87
- # Show method source code inline, rather than via a popup link.
88
- #
89
- # [-T, --template=NAME]
90
- # Set the template used when generating output.
91
- #
92
80
  # == Documenting Source Code
93
81
  #
94
- # Comment blocks can be written fairly naturally, either using +#+ on
82
+ # Comment blocks can be written fairly naturally, either using <tt>#</tt> on
95
83
  # successive lines of the comment, or by including the comment in
96
84
  # a =begin/=end block. If you use the latter form, the =begin line must be
97
85
  # flagged with an RDoc tag:
@@ -150,6 +138,11 @@ $DEBUG_RDOC = nil
150
138
  # +:yields:+ is an example of a documentation directive. These appear
151
139
  # immediately after the start of the document element they are modifying.
152
140
  #
141
+ # RDoc automatically cross-references words with underscores or camel-case.
142
+ # To suppress cross-references, prefix the word with a \\ character. To
143
+ # include special characters like "\\n", you'll need to use two \\
144
+ # characters like "\\\\\\n".
145
+ #
153
146
  # == \Markup
154
147
  #
155
148
  # * The markup engine looks for a document's natural left margin. This is
@@ -216,17 +209,17 @@ $DEBUG_RDOC = nil
216
209
  #
217
210
  # Word-based markup uses flag characters around individual words:
218
211
  #
219
- # [\*word*] displays word in a *bold* font
220
- # [\_word_] displays word in an _emphasized_ font
221
- # [\+word+] displays word in a +code+ font
212
+ # [<tt>\*word*</tt>] displays word in a *bold* font
213
+ # [<tt>\_word_</tt>] displays word in an _emphasized_ font
214
+ # [<tt>\+word+</tt>] displays word in a +code+ font
222
215
  #
223
216
  # General markup affects text between a start delimiter and and end
224
217
  # delimiter. Not surprisingly, these delimiters look like HTML markup.
225
218
  #
226
- # [\<b>text...</b>] displays word in a *bold* font
227
- # [\<em>text...</em>] displays word in an _emphasized_ font
228
- # [\<i>text...</i>] displays word in an <i>italicized</i> font
229
- # [\<tt>text...</tt>] displays word in a +code+ font
219
+ # [<tt>\<b>text...</b></tt>] displays word in a *bold* font
220
+ # [<tt>\<em>text...</em></tt>] displays word in an _emphasized_ font
221
+ # [<tt>\<i>text...</i></tt>] displays word in an <i>italicized</i> font
222
+ # [<tt>\<tt>text...\</tt></tt>] displays word in a +code+ font
230
223
  #
231
224
  # Unlike conventional Wiki markup, general markup can cross line
232
225
  # boundaries. You can turn off the interpretation of markup by
@@ -382,7 +375,7 @@ module RDoc
382
375
  ##
383
376
  # RDoc version you are using
384
377
 
385
- VERSION = "2.4.1"
378
+ VERSION = "2.4.2"
386
379
 
387
380
  ##
388
381
  # Name of the dotfile that contains the description of files to be processed
@@ -361,7 +361,7 @@ class RDoc::Context < RDoc::CodeObject
361
361
 
362
362
  def add_method(method)
363
363
  method.visibility = @visibility
364
- add_to(@method_list, method)
364
+ add_to @method_list, method
365
365
 
366
366
  unmatched_alias_list = @unmatched_alias_lists[method.name]
367
367
  if unmatched_alias_list then
@@ -155,7 +155,7 @@ class RDoc::Generator::Darkfish
155
155
 
156
156
  FileUtils.cp @template_dir + 'rdoc.css', '.', options
157
157
 
158
- Dir[@template_dir + "{js,images}/**/*"].each do |path|
158
+ Dir[(@template_dir + "{js,images}/**/*").to_s].each do |path|
159
159
  next if File.directory? path
160
160
  next if path =~ /#{File::SEPARATOR}\./
161
161
 
@@ -28,7 +28,7 @@
28
28
  <div class="section-body">
29
29
  <ul>
30
30
  <% klass.in_files.each do |tl| %>
31
- <li><a href="<%= rel_prefix %>/<%= h tl.absolute_name %>.html?TB_iframe=true&amp;height=550&amp;width=785"
31
+ <li><a href="<%= rel_prefix %>/<%= h tl.path %>.html?TB_iframe=true&amp;height=550&amp;width=785"
32
32
  class="thickbox" title="<%= h tl.absolute_name %>"><%= h tl.absolute_name %></a></li>
33
33
  <% end %>
34
34
  </ul>
@@ -227,7 +227,7 @@ class RDoc::Markup::AttributeManager
227
227
 
228
228
  unmask_protected_sequences
229
229
 
230
- return split_into_flow
230
+ split_into_flow
231
231
  end
232
232
 
233
233
  ##
@@ -304,7 +304,7 @@ class RDoc::Markup::AttributeManager
304
304
  # and reset to all attributes off
305
305
  res << change_attribute(current_attr, 0) if current_attr != 0
306
306
 
307
- return res
307
+ res
308
308
  end
309
309
 
310
310
  end
@@ -121,7 +121,9 @@ class RDoc::Markup::ToHtmlCrossref < RDoc::Markup::ToHtml
121
121
 
122
122
  ref = @context.find_symbol lookup unless ref
123
123
 
124
- out = if lookup =~ /^\\/ then
124
+ out = if lookup == '\\' then
125
+ lookup
126
+ elsif lookup =~ /^\\/ then
125
127
  $'
126
128
  elsif ref and ref.document_self then
127
129
  "<a href=\"#{ref.as_href(@from_path)}\">#{name}</a>"
@@ -73,6 +73,11 @@ class RDoc::Options
73
73
 
74
74
  attr_accessor :op_dir
75
75
 
76
+ ##
77
+ # Is RDoc in pipe mode?
78
+
79
+ attr_accessor :pipe
80
+
76
81
  ##
77
82
  # Array of directories to search for files to satisfy an :include:
78
83
 
@@ -127,6 +132,7 @@ class RDoc::Options
127
132
  @exclude = []
128
133
  @generators = RDoc::RDoc::GENERATORS
129
134
  @generator = RDoc::Generator::Darkfish
135
+ @generator_name = nil
130
136
  @rdoc_include = []
131
137
  @title = nil
132
138
  @template = nil
@@ -143,6 +149,7 @@ class RDoc::Options
143
149
  @include_line_numbers = false
144
150
  @force_update = true
145
151
  @verbosity = 1
152
+ @pipe = false
146
153
 
147
154
  @webcvs = nil
148
155
 
@@ -176,7 +183,7 @@ Usage: #{opt.program_name} [options] [names...]
176
183
  EOF
177
184
 
178
185
  opt.separator nil
179
- opt.separator "Options:"
186
+ opt.separator "Parsing Options:"
180
187
  opt.separator nil
181
188
 
182
189
  opt.on("--all", "-a",
@@ -187,31 +194,6 @@ Usage: #{opt.program_name} [options] [names...]
187
194
 
188
195
  opt.separator nil
189
196
 
190
- opt.on("--charset=CHARSET", "-c",
191
- "Specifies the output HTML character-set.") do |value|
192
- @charset = value
193
- end
194
-
195
- opt.separator nil
196
-
197
- opt.on("--debug", "-D",
198
- "Displays lots on internal stuff.") do |value|
199
- $DEBUG_RDOC = value
200
- end
201
-
202
- opt.separator nil
203
-
204
- opt.on("--diagram", "-d",
205
- "Generate diagrams showing modules and",
206
- "classes. You need dot V1.8.6 or later to",
207
- "use the --diagram option correctly. Dot is",
208
- "available from http://graphviz.org") do |value|
209
- check_diagram
210
- @diagram = true
211
- end
212
-
213
- opt.separator nil
214
-
215
197
  opt.on("--exclude=PATTERN", "-x", Regexp,
216
198
  "Do not process files or directories",
217
199
  "matching PATTERN.") do |value|
@@ -237,18 +219,6 @@ Usage: #{opt.program_name} [options] [names...]
237
219
 
238
220
  opt.separator nil
239
221
 
240
- opt.on("--fileboxes", "-F",
241
- "Classes are put in boxes which represents",
242
- "files, where these classes reside. Classes",
243
- "shared between more than one file are",
244
- "shown with list of files that are sharing",
245
- "them. Silently discarded if --diagram is",
246
- "not given.") do |value|
247
- @fileboxes = value
248
- end
249
-
250
- opt.separator nil
251
-
252
222
  opt.on("--force-update", "-U",
253
223
  "Forces rdoc to scan all sources even if",
254
224
  "newer than the flag file.") do |value|
@@ -257,6 +227,29 @@ Usage: #{opt.program_name} [options] [names...]
257
227
 
258
228
  opt.separator nil
259
229
 
230
+ opt.on("--pipe",
231
+ "Convert RDoc on stdin to HTML") do
232
+ @pipe = true
233
+ end
234
+
235
+ opt.separator nil
236
+
237
+ opt.on("--threads=THREADS", Integer,
238
+ "Number of threads to parse with.") do |threads|
239
+ @threads = threads
240
+ end
241
+
242
+ opt.separator nil
243
+ opt.separator "Generator Options:"
244
+ opt.separator nil
245
+
246
+ opt.on("--charset=CHARSET", "-c",
247
+ "Specifies the output HTML character-set.") do |value|
248
+ @charset = value
249
+ end
250
+
251
+ opt.separator nil
252
+
260
253
  generator_text = @generators.keys.map { |name| " #{name}" }.sort
261
254
 
262
255
  opt.on("--fmt=FORMAT", "--format=FORMAT", "-f", @generators.keys,
@@ -267,19 +260,8 @@ Usage: #{opt.program_name} [options] [names...]
267
260
 
268
261
  opt.separator nil
269
262
 
270
- image_formats = %w[gif png jpg jpeg]
271
- opt.on("--image-format=FORMAT", "-I", image_formats,
272
- "Sets output image format for diagrams. Can",
273
- "be #{image_formats.join ', '}. If this option",
274
- "is omitted, png is used. Requires",
275
- "diagrams.") do |value|
276
- @image_format = value
277
- end
278
-
279
- opt.separator nil
280
-
281
263
  opt.on("--include=DIRECTORIES", "-i", Array,
282
- "set (or add to) the list of directories to",
264
+ "Set (or add to) the list of directories to",
283
265
  "be searched when satisfying :include:",
284
266
  "requests. Can be used more than once.") do |value|
285
267
  @rdoc_include.concat value.map { |dir| dir.strip }
@@ -301,29 +283,94 @@ Usage: #{opt.program_name} [options] [names...]
301
283
 
302
284
  opt.separator nil
303
285
 
304
- opt.on("--merge", "-M",
305
- "When creating ri output, merge previously",
306
- "processed classes into previously",
307
- "documented classes of the same name.") do |value|
308
- @merge = value
286
+ opt.on("--output=DIR", "--op", "-o",
287
+ "Set the output directory.") do |value|
288
+ @op_dir = value
309
289
  end
310
290
 
311
291
  opt.separator nil
312
292
 
313
- opt.on("--output=DIR", "--op", "-o",
314
- "Set the output directory.") do |value|
315
- @op_dir = value
293
+ opt.on("--show-hash", "-H",
294
+ "A name of the form #name in a comment is a",
295
+ "possible hyperlink to an instance method",
296
+ "name. When displayed, the '#' is removed",
297
+ "unless this option is specified.") do |value|
298
+ @show_hash = value
316
299
  end
317
300
 
318
301
  opt.separator nil
319
302
 
320
- opt.on("--quiet", "-q",
321
- "Don't show progress as we parse.") do |value|
322
- @verbosity = 0
303
+ opt.on("--tab-width=WIDTH", "-w", OptionParser::DecimalInteger,
304
+ "Set the width of tab characters.") do |value|
305
+ @tab_width = value
306
+ end
307
+
308
+ opt.separator nil
309
+
310
+ opt.on("--template=NAME", "-T",
311
+ "Set the template used when generating",
312
+ "output.") do |value|
313
+ @template = value
323
314
  end
324
315
 
325
316
  opt.separator nil
326
317
 
318
+ opt.on("--title=TITLE", "-t",
319
+ "Set TITLE as the title for HTML output.") do |value|
320
+ @title = value
321
+ end
322
+
323
+ opt.separator nil
324
+
325
+ opt.on("--webcvs=URL", "-W",
326
+ "Specify a URL for linking to a web frontend",
327
+ "to CVS. If the URL contains a '\%s', the",
328
+ "name of the current file will be",
329
+ "substituted; if the URL doesn't contain a",
330
+ "'\%s', the filename will be appended to it.") do |value|
331
+ @webcvs = value
332
+ end
333
+
334
+ opt.separator nil
335
+ opt.separator "Diagram Options:"
336
+ opt.separator nil
337
+
338
+ image_formats = %w[gif png jpg jpeg]
339
+ opt.on("--image-format=FORMAT", "-I", image_formats,
340
+ "Sets output image format for diagrams. Can",
341
+ "be #{image_formats.join ', '}. If this option",
342
+ "is omitted, png is used. Requires",
343
+ "diagrams.") do |value|
344
+ @image_format = value
345
+ end
346
+
347
+ opt.separator nil
348
+
349
+ opt.on("--diagram", "-d",
350
+ "Generate diagrams showing modules and",
351
+ "classes. You need dot V1.8.6 or later to",
352
+ "use the --diagram option correctly. Dot is",
353
+ "available from http://graphviz.org") do |value|
354
+ check_diagram
355
+ @diagram = true
356
+ end
357
+
358
+ opt.separator nil
359
+
360
+ opt.on("--fileboxes", "-F",
361
+ "Classes are put in boxes which represents",
362
+ "files, where these classes reside. Classes",
363
+ "shared between more than one file are",
364
+ "shown with list of files that are sharing",
365
+ "them. Silently discarded if --diagram is",
366
+ "not given.") do |value|
367
+ @fileboxes = value
368
+ end
369
+
370
+ opt.separator nil
371
+ opt.separator "ri Generator Options:"
372
+ opt.separator nil
373
+
327
374
  opt.on("--ri", "-r",
328
375
  "Generate output for use by `ri`. The files",
329
376
  "are stored in the '.rdoc' directory under",
@@ -349,70 +396,45 @@ Usage: #{opt.program_name} [options] [names...]
349
396
 
350
397
  opt.separator nil
351
398
 
352
- opt.on("--show-hash", "-H",
353
- "A name of the form #name in a comment is a",
354
- "possible hyperlink to an instance method",
355
- "name. When displayed, the '#' is removed",
356
- "unless this option is specified.") do |value|
357
- @show_hash = value
358
- end
359
-
360
- opt.separator nil
361
-
362
- opt.on("--tab-width=WIDTH", "-w", OptionParser::DecimalInteger,
363
- "Set the width of tab characters.") do |value|
364
- @tab_width = value
399
+ opt.on("--merge", "-M",
400
+ "When creating ri output, merge previously",
401
+ "processed classes into previously",
402
+ "documented classes of the same name.") do |value|
403
+ @merge = value
365
404
  end
366
405
 
367
406
  opt.separator nil
368
-
369
- opt.on("--template=NAME", "-T",
370
- "Set the template used when generating",
371
- "output.") do |value|
372
- @template = value
373
- end
374
-
407
+ opt.separator "Generic Options:"
375
408
  opt.separator nil
376
409
 
377
- opt.on("--threads=THREADS", Integer,
378
- "Number of threads to parse with.") do |threads|
379
- @threads = threads
410
+ opt.on("--debug", "-D",
411
+ "Displays lots on internal stuff.") do |value|
412
+ $DEBUG_RDOC = value
380
413
  end
381
414
 
382
- opt.separator nil
383
-
384
- opt.on("--title=TITLE", "-t",
385
- "Set TITLE as the title for HTML output.") do |value|
386
- @title = value
415
+ opt.on("--quiet", "-q",
416
+ "Don't show progress as we parse.") do |value|
417
+ @verbosity = 0
387
418
  end
388
419
 
389
- opt.separator nil
390
-
391
420
  opt.on("--verbose", "-v",
392
421
  "Display extra progress as we parse.") do |value|
393
422
  @verbosity = 2
394
423
  end
395
424
 
396
425
  opt.separator nil
397
-
398
- opt.on("--webcvs=URL", "-W",
399
- "Specify a URL for linking to a web frontend",
400
- "to CVS. If the URL contains a '\%s', the",
401
- "name of the current file will be",
402
- "substituted; if the URL doesn't contain a",
403
- "'\%s', the filename will be appended to it.") do |value|
404
- @webcvs = value
405
- end
406
-
407
- opt.separator nil
408
-
409
426
  opt.separator 'Deprecated options - these warn when set'
410
-
411
427
  opt.separator nil
412
428
 
413
429
  opt.on("--inline-source", "-S") do |value|
414
430
  warn "--inline-source will be removed from RDoc on or after August 2009"
415
431
  end
432
+
433
+ opt.on("--promiscuous", "-p") do |value|
434
+ warn "--promiscuous will be removed from RDoc on or after August 2009"
435
+ end
436
+
437
+ opt.separator nil
416
438
  end
417
439
 
418
440
  argv.insert(0, *ENV['RDOCOPT'].split) if ENV['RDOCOPT']