diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/un.rb | 7 |
2 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Fri Jun 25 05:49:14 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/un.rb (setup): fix of word splitting. [ruby-dev:41723] + Fri Jun 25 01:07:17 2010 Masaya Tarui <tarui@ruby-lnag.org> * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent @@ -43,8 +43,11 @@ def setup(options = "", *long_options) end end long_options.each do |s| - opt_name = s[/\A(?:--)?([^\s=]+)/, 1].intern - o.on(s.gsub(/([a-z])([A-Z])/){$1+"-"+$2.downcase}.sub(/\A(?!--)/, '--')) do |val| + opt_name, arg_name = s.split(/(?=[\s=])/, 2) + opt_name.sub!(/\A--/, '') + s = "--#{opt_name.gsub(/([A-Za-z]+)([A-Z])/, '\1-\2').downcase}#{arg_name}" + opt_name = opt_name.intern + o.on(s) do |val| opt_hash[opt_name] = val end end |