[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37631] Re: M17N of erb(1) Was: Re: Current status of 1.9.1 RC1's issues

From: "Yugui (Yuki Sonoda)" <yugui@...>
Date: 2008-12-28 06:02:49 UTC
List: ruby-dev #37631
Yuguiです。

On 12/26/08 7:06 PM, Yugui (Yuki Sonoda) wrote:
> で、全部合わせて添付のパッチのようになりました。どうでしょうか。
> <%# -*- coding: ENCODING-NAME -*-%>

咳さんから特に反対がなければパッチをコミットして1.9.1に含めたいと思いま
すが、いかがでしょうか。

あ、ついでに、bin/erbのオプション処理のパッチも書いてみたので添付しま
す。今は-s val形式と--long val形式を受け付けますが、
-sval 形式と--long=val形式も受け付けるようにしてみました。

-- 
Yugui <yugui@yugui.jp>
http://yugui.jp
私は私をDumpする

Attachments (1)

erb-option.diff (1.54 KB, text/x-diff)
diff --git a/bin/erb b/bin/erb
index d265641..7241838 100755
--- a/bin/erb
+++ b/bin/erb
@@ -12,9 +12,17 @@ class ERB
       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.index('-') 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 @@ class ERB
     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 @@ class ERB
   -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

In This Thread