diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-22 14:53:16 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-22 14:53:16 +0000 |
commit | d1f1aa820f6367af03686252ccb7c43f325e7b43 (patch) | |
tree | 79ca2da79c0bd8e77d77eca5857cf1561e28b1da | |
parent | 4dc782978d899f83d506f75ce22a5bd72d7296a5 (diff) |
* lib/optparse.rb: match incomplete (in current enconding) multibyte
string. http://inamode6.tokuhirom.dnsalias.org/show/1551
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/optparse.rb | 8 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Tue Nov 22 23:52:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/optparse.rb: match incomplete (in current enconding) multibyte + string. http://inamode6.tokuhirom.dnsalias.org/show/1551 + Tue Nov 22 18:36:11 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> * win32/win32.c (winnt_stat): set mapped errno instead of ENOENT. diff --git a/lib/optparse.rb b/lib/optparse.rb index 6668f30c8b..b6ee6c896c 100644 --- a/lib/optparse.rb +++ b/lib/optparse.rb @@ -521,7 +521,7 @@ class OptionParser # # See OptionParser.accept. # - def accept(t, pat = /.*/, &block) + def accept(t, pat = /.*/nm, &block) if pat pat.respond_to?(:match) or raise TypeError, "has no `match'" else @@ -1272,7 +1272,7 @@ class OptionParser while arg = argv.shift case arg # long option - when /\A--([^=]*)(?:=(.*))?/ + when /\A--([^=]*)(?:=(.*))?/nm opt, rest = $1, $2 begin sw, = complete(:long, opt, true) @@ -1287,7 +1287,7 @@ class OptionParser end # short option - when /\A-(.)((=).*|.+)?/ + when /\A-(.)((=).*|.+)?/nm opt, has_arg, eq, val, rest = $1, $3, $3, $2, $2 begin unless sw = search(:short, opt) @@ -1500,7 +1500,7 @@ class OptionParser : String any none-empty string, and no conversion. =end #'#"#`# - accept(String, /.+/) {|s,*|s} + accept(String, /.+/nm) {|s,*|s} =begin : Integer |