I think I've found a minor bug in Rake with the "desc" method and -T flag.

    task :default => [:one]

    task :one do
        puts 'one'
    end

    desc "description of task one"
    task :one => [:anything]

    desc "description of task two"
    task :two do
        puts 'two'
    end

% rake -T
(in c:/jmenard)
rake two  # description of task two

This only happens if "task :one" appears more than once and the description
comes after the first "task :one". For example, reversing the tasks but
keeping the desc after the second one does the same thing:

    task :default => [:one]

    task :one do
        puts 'one'
    end

    desc "description of task one"
    task :one => [:anything]

    desc "description of task two"
    task :two do
        puts 'two'
    end

% rake -T
(in c:/jmenard)
rake two  # description of task two

If I move the desc up before the first "task :one" then both descriptions get
printed:

    task :default => [:one]

    desc "description of task one"
    task :one => [:anything]

    task :one do
        puts 'one'
    end

    desc "description of task two"
    task :two do
        puts 'two'
    end

~> rake -T
(in c:/jmenard)
rake one  # description of task one
rake two  # description of task two

Looking at rake.rb, I think the problem is that $last_comment is only used
when a new task is created, not when an existing one is extended (re-opened?
added to?). I don't know if using $last_comment inside Task.define_task
instead of in the initialize method makes sense or if that would break
something else.

Jim
-- 
Jim Menard, jimm / io.com, http://www.io.com/~jimm/
"Yeah, well, don't count your weasels before they pop, dink." -- The Tick