ruby-changes:9651
From: yugui <ko1@a...>
Date: Tue, 30 Dec 2008 19:32:41 +0900 (JST)
Subject: [ruby-changes:9651] Ruby:r21192 (ruby_1_9_1): merges r21171 from trunk into ruby_1_9_1.
yugui 2008-12-30 19:32:16 +0900 (Tue, 30 Dec 2008) New Revision: 21192 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21192 Log: merges r21171 from trunk into ruby_1_9_1. * bin/erb: accepts options in more flexible styles. Modified files: branches/ruby_1_9_1/ChangeLog branches/ruby_1_9_1/bin/erb Index: ruby_1_9_1/ChangeLog =================================================================== --- ruby_1_9_1/ChangeLog (revision 21191) +++ ruby_1_9_1/ChangeLog (revision 21192) @@ -1,3 +1,7 @@ +Mon Dec 29 17:53:24 2008 Yuki Sonoda (Yugui) <yugui@y...> + + * bin/erb: accepts options in more flexible styles. + Mon Dec 29 17:25:17 2008 Yuki Sonoda (Yugui) <yugui@y...> * lib/erb.rb (ERB): m17n of ERB. adds rdoc. Index: ruby_1_9_1/bin/erb =================================================================== --- ruby_1_9_1/bin/erb (revision 21191) +++ ruby_1_9_1/bin/erb (revision 21192) @@ -12,9 +12,17 @@ arg = self.shift return nil if arg == '--' if arg =~ /^-(.)(.*)/ - return arg if $1 == '-' - raise 'unknown switch "-"' if $2.index('-') - self.unshift "-#{$2}" if $2.size > 0 + if $1 == '-' + arg, @maybe_arg = arg.split(/=/, 2) + return arg + end + raise 'unknown switch "-"' if $2[0] == ?- and $1 != 'T' + if $2.size > 0 + self.unshift "-#{$2}" + @maybe_arg = $2 + else + @maybe_arg = nil + end "-#{$1}" else self.unshift arg @@ -23,7 +31,9 @@ end def ARGV.req_arg - self.shift || raise('missing argument') + (@maybe_arg || self.shift || raise('missing argument')).tap { + @maybe_arg = nil + } end def trim_mode_opt(trim_mode, disable_percent) @@ -94,11 +104,11 @@ -n print ruby script with line number -v enable verbose mode -d set $DEBUG to true - -r [library] load a library - -S [safe_level] set $SAFE (0..4) + -r library load a library + -S safe_level set $SAFE (0..4) -E ex[:in] set default external/internal encodings -U set default encoding to UTF-8. - -T [trim_mode] specify trim_mode (0..2, -) + -T trim_mode specify trim_mode (0..2, -) -P ignore lines which start with "%" EOU exit 1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/