Hi,
In mail "Re: ruby-dev summary 25045-25260"
> [ruby-dev:25048] about optparse specification
> Minero Aoki claimed that optparse should not handle -L when --line
> is given. It appears that anyone is not interested in this issue,
> since there is no reply so far.
Can you explain this a bit? If I do this:
ARGV.options do |opts|
opts.on('-L', '--line', ...) { |xx| ... }
end
Then it should. However, IMO optparse should NOT autovivify -L if I
specify:
ARGV.options do |opts|
opts.on('--line', ...) { |xx| ... }
end
I said latter. From ruby-dev:25048:
~ % cat t
require 'optparse'
parser = OptionParser.new
parser.on('--line') {
puts 'opt=--line'
}
parser.parse!
~ % ruby t -l
opt=--line
~ % ruby t --l
opt=--line
~ % ruby t -L
opt=--line
~ % ruby t --L
opt=--line
But, thanks for nobu, it seems that optparse.rb was modified after
[ruby-dev:25048] was posted. We get following result now:
% cat t
require 'optparse'
parser = OptionParser.new
parser.on('--line') {
puts 'opt=--line'
}
parser.parse!
% ruby t -L
/usr/lib/ruby/1.9/optparse.rb:1440:in `complete': invalid option: -L (OptionParser::InvalidOption)
from /usr/lib/ruby/1.9/optparse.rb:1438:in `catch'
from /usr/lib/ruby/1.9/optparse.rb:1438:in `complete'
from /usr/lib/ruby/1.9/optparse.rb:1297:in `order!'
from /usr/lib/ruby/1.9/optparse.rb:1266:in `catch'
from /usr/lib/ruby/1.9/optparse.rb:1266:in `order!'
from /usr/lib/ruby/1.9/optparse.rb:1346:in `permute!'
from /usr/lib/ruby/1.9/optparse.rb:1373:in `parse!'
from t:7
From ChangeLog:
···
Austin Ziegler <halostatue@gmail.com> wrote:
Sun Dec 5 19:39:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/optparse.rb (OptionParser::Completion#complete): new parameter
to direct case insensitiveness.
* lib/optparse.rb (OptionParser#order!): ignore case only for long
option. [ruby-dev:25048]
Regards,
Minero Aoki