aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-24 20:49:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-24 20:49:37 +0000
commita4d39115034313b70addd078e6997d94c8685064 (patch)
tree080e04092e9195d42b87ef95f072721d35744608
parent430088224994c14f6652f96eafccdbb69ca46e3e (diff)
downloadruby-a4d39115034313b70addd078e6997d94c8685064.tar.gz
* lib/un.rb (setup): fix of word splitting. [ruby-dev:41723]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--lib/un.rb7
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 382f367cba..783160c417 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/lib/un.rb b/lib/un.rb
index 24c6024c71..907b80c0ab 100644
--- a/lib/un.rb
+++ b/lib/un.rb
@@ -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