summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--doc/NEWS11
-rw-r--r--lib/getopts.rb4
3 files changed, 18 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d37e64694..8751203384 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 13 18:36:55 2002 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/getopts.rb: single_options can be nil[*], and is not not
+ optional. ([*]Pointed out by gotoken)
+
Tue Mar 12 17:12:06 2002 Tanaka Akira <akr@m17n.org>
* lib/resolv.rb: don't complete domains for absolute FQNs.
diff --git a/doc/NEWS b/doc/NEWS
index b875e5b5f7..bd3e7feb25 100644
--- a/doc/NEWS
+++ b/doc/NEWS
@@ -1,3 +1,14 @@
+: getopts.rb
+
+ Rewrote to fix some bugs and complete features.
+ - Accept options with the colon in the first argument;
+ getopts("a:bcd:") is equivalent to getopts("bc", "a:", "d:").
+ - Do not discard the argument that caused an error.
+ - Do not discard '-', which commonly stands for stdin or stdout.
+ - Allow specifying a long option with a value using '='.
+ (command --long-option=value)
+ - Stop reading options when it meets a non-option argument.
+
: tsort module
Imported. Topological sorting library.
diff --git a/lib/getopts.rb b/lib/getopts.rb
index e29e4211e2..b1cffd9ba0 100644
--- a/lib/getopts.rb
+++ b/lib/getopts.rb
@@ -18,7 +18,7 @@
$RCS_ID=%q$Header$
-def getopts(single_options = '', *options)
+def getopts(single_options, *options)
boolopts = {}
valopts = {}
@@ -31,7 +31,7 @@ def getopts(single_options = '', *options)
else
valopts[opt[0, 1]] = nil
end
- end
+ end if single_options
options.each do |arg|
opt, val = arg.split(':', 2)