[#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:17188] Re: コマンドラインオプションの順序制約

From: nobu.nakada@...
Date: 2002-05-22 09:58:36 UTC
List: ruby-dev #17188
なかだです。

At Wed, 22 May 2002 18:03:29 +0900,
Yukihiro Matsumoto wrote:
> |-0がすでに数字だけを使うようになっているので、-Tもそのほうがよ
> |さそうな気がします。それに、もし-Tがそれ以降をすべて消費するの
> |であれば、数字以外はエラーにすべきでは。
> 
> そうか、数字を受けるのは-0と-Tだけですものね。
> では、-0に合わせましょう。って、中田さんのパッチでよいのか。
> 
> でも、-*-とRUBYOPTまわりの変更はよくわからなかったんですが。
> というか、-*-に関しては元のコードも十分わからないという、自
> 分が書いたんだろうに。

あ、-*-ですか。いや、これ何だろうとは思ったんですが、あんまり気
にしてなかった。うーん、あのパッチだと #!ruby -*-ruby-*- なんて
のがエラーになりますね。逆に今はコマンドラインでも -* がエラー
にならないとか。

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


Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.58
diff -u -2 -p -r1.58 ruby.c
--- ruby.c	2002/05/14 06:22:26	1.58
+++ ruby.c	2002/05/22 09:52:02
@@ -559,8 +559,9 @@ proc_options(argc, argv)
 		    v = scan_oct(s, 2, &numlen);
 		    if (numlen == 0) v = 1;
+		    s += numlen;
 		}
 		rb_set_safe_level(v);
 	    }
-	    break;
+	    goto reswitch;
 
 	  case 'I':
@@ -624,9 +625,26 @@ proc_options(argc, argv)
 	    break;
 
-	  case '*':
 	  case ' ':
 	    if (s[1] == '-') s+=2;
-	    break;
+	    goto reswitch;
 
+	  case '*':
+	    if (argv0 == 0 && s[1] == '-') {
+		/* for -*- line, only in #! line */
+		s += 2;
+		if (s = strstr(s, "-*-")) {
+		    s += 3;
+		}
+		else {
+		    while (argc > 0 && (s = strstr(argv[0], "-*-")) == 0) {
+			--argc;
+			++argv;
+		    }
+		    if (!s) break;
+		    s += 3;
+		}
+		goto reswitch;
+	    }
+	    /* through */
 	  default:
 	    fprintf(stderr, "%s: invalid option -%c  (-h will show valid options)\n",
@@ -657,8 +675,10 @@ proc_options(argc, argv)
 	else {
 	    while (s && *s) {
-		while (ISSPACE(*s)) s++;
 		if (*s == '-') {
 		    s++;
-		    if (ISSPACE(*s)) continue;
+		    if (ISSPACE(*s)) {
+			do {s++;} while (ISSPACE(*s));
+			continue;
+		    }
 		}
 		if (!*s) break;


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

In This Thread