[#17017] 標準添付案 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

21 messages 2002/05/08
[#17019] Re: 標準添付案 — "Akinori MUSHA" <knu@...> 2002/05/08

At Wed, 8 May 2002 19:50:17 +0900,

[#17021] Re: 標準添付案 — GOTO Kentaro <gotoken@...> 2002/05/08

At Wed, 8 May 2002 22:45:06 +0900,

[#17031] double acosh — WATANABE Hirofumi <eban@...>

わたなべです。

25 messages 2002/05/10
[#17032] Re: double acosh — nobu.nakada@... 2002/05/10

なかだです。

[#17033] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17036] Re: double acosh — matz@... (Yukihiro Matsumoto) 2002/05/10

まつもと ゆきひろです

[#17039] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17134] argv[0] — Tanaka Akira <akr@...17n.org>

ふと ruby インタプリタの C における argv[0] を知りたくなったんですが、

23 messages 2002/05/18
[#17139] Re: argv[0] — matz@... (Yukihiro Matsumoto) 2002/05/18

まつもと ゆきひろです

[#17144] Re: msvcrt — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

18 messages 2002/05/19

[#17179] コマンドラインオプションの順序制約 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

13 messages 2002/05/22
[#17181] Re: コマンドラインオプションの順序制約 — matz@... (Yukihiro Matsumoto) 2002/05/22

まつもと ゆきひろです

[#17228] Re: [ruby-list:35305] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 2002/05/30

[ruby-dev:17190] Re: コマンドラインオプションの順序制約

From: nobu.nakada@...
Date: 2002-05-22 12:43:59 UTC
List: ruby-dev #17190
なかだです。

とりあえず-T関係だけコミットしました。

At Wed, 22 May 2002 18:58:36 +0900,
Nobuyoshi-Nakada wrote:
> > でも、-*-とRUBYOPTまわりの変更はよくわからなかったんですが。
> > というか、-*-に関しては元のコードも十分わからないという、自
> > 分が書いたんだろうに。
> 
> あ、-*-ですか。いや、これ何だろうとは思ったんですが、あんまり気
> にしてなかった。うーん、あのパッチだと #!ruby -*-ruby-*- なんて
> のがエラーになりますね。逆に今はコマンドラインでも -* がエラー
> にならないとか。

#!でシステムからargvで渡される可能性もあるから、こんな感じかなぁ。
とりあえず空白は無視するようにしてみましたが。

でも、Linuxのように一つの引数にして渡すシステムはいいけど、分割
して渡すシステム(http://www.cwi.nl/~aeb/std/hashexclam-1.htmlに
よるとBSDI?)だとダメかも。

-*-...-*-には空白を入れるなとか、もっといいのは二行目に書けとい
うことかも。

> RUBYOPTまわりは単に、moreswitches()の先頭で空白は飛ばしてるので
> 毎回は不要だろうというだけです。

これは思いっきり勘違いしてました。


Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.59
diff -u -2 -p -r1.59 ruby.c
--- ruby.c	2002/05/22 12:32:15	1.59
+++ ruby.c	2002/05/22 12:32:26
@@ -625,8 +625,15 @@ proc_options(argc, argv)
 	    break;
 
-	  case '*':
 	  case ' ':
-	    if (s[1] == '-') s+=2;
-	    break;
+	    if (*++s == '-') ++s;
+	    goto reswitch;
+
+	  case '*':
+	    if (s[1] == '-') {
+		if ((s = strstr(s + 2, "-*-")) == 0) break;
+		s += 3;
+		goto reswitch;
+	    }
+	    /* through */
 
 	  default:
@@ -840,5 +847,12 @@ load_file(fname, script)
 		    p++;	/* skip space before `-' */
 		    while (*p == '-') {
-			p = moreswitches(p+1);
+			if (*++p == '*' && p[1] == '-') {
+			    p = strstr(p + 2, "-*-");
+			    if (!p) break;
+			    p += 3;
+			    while (ISSPACE(*p)) p++;
+			    continue;
+			}
+			p = moreswitches(p);
 		    }
 		}


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread