[#26266] pragma on ripper — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#26284] ext/tk/sample/tkextlib/tile/demo.rb で TypeError — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26298] ext/tk/sample/tkextlib/tile/themes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26305] ext/tk/sample/tkextlib/ICONS/viewIcons.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
[#26312] rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org>
最近、とあるプログラム(五月雨)が、無限ループに陥ることが何回かありました。
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000024@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000025@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04Rqf69aZbLA0000002d@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <200506101543.j5AFhToG009328@sharui.nakada.niregi.kanuma.tochigi.jp>,
In article <8764wlil9l.fsf@m17n.org>,
なかだです。
In article <200506111335.j5BDZkoG019423@sharui.nakada.niregi.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1118583170.298416.26464.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1118586617.180748.27381.nullmailer@x31.priv.netlab.jp>,
[#26324] XMLRPC charset — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26358] test failures and errors — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26387] warningを減らす — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26405] WEBrick DoS vulnerability — Tanaka Akira <akr@...17n.org>
NetBSD 2.0 で WEBrick を使って HTTP サーバを動かした場合、クライアント
ごとうゆうぞうです。
In article <20050708.175802.957830318.gotoyuzo@sawara.does.notwork.org>,
In message <87fyupzgcq.fsf@m17n.org>,
In article <20050708.211519.179953950.gotoyuzo@sawara.does.notwork.org>,
In message <87d5ptzdpc.fsf@m17n.org>,
前田です。
In article <42CF1AF2.5000407@ruby-lang.org>,
In message <878y0erpv7.fsf@m17n.org>,
[#26410] irbのlexerが数値認識に失敗 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26417] test.rb failed 167W: ruby 1.9.0 (2005-06-30) [i686-linux] (boron) — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26421] Subversion — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
山本です。
須藤です.
In article <20050703.152549.41008576.kou@cozmixng.org>,
[ruby-dev:26375] shebang without "ruby"
なかだです。
rubyもperlにならって、shebangにrubyという文字列がない場合、ruby script
じゃないとみなしてそこに指定されているプログラムをキックするようになっ
ていますが、しかし、これって本当に今でも必要な機能なんでしょうか。これ
が必要なのは、shebangが実装されていなくて、かつENOEXECなら問答無用で
rubyに渡すという、ちょっとありそうにないシステムだけのような気がします。
そこで、「'ruby'のないshebangは引数なしの-xとみなす」という案はどうでしょ
うか。そうすれば、こういうスクリプトを直接渡されてもそのまま実行できる
ようになります。
#!/bin/sh
exec ruby -x ${1+"$@"}
#!ruby
今これが`ruby foo.rb'と-xなしで実行された場合は、一度 /bin/sh を呼び出
してそこからまたrubyを呼び出す、という二重の手間になっています。
Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.103
diff -U2 -p -u -r1.103 ruby.c
--- ruby.c 16 Jun 2005 06:43:00 -0000 1.103
+++ ruby.c 24 Jun 2005 08:26:03 -0000
@@ -389,5 +389,5 @@ require_libraries()
ruby_current_node = 0;
- rb_protect((VALUE (*)(VALUE))rb_require, (VALUE)list->name, &state);
+ rb_protect((VALUE (*)_((VALUE)))rb_require, (VALUE)list->name, &state);
if (state) rb_jump_tag(state);
tmp = list->next;
@@ -904,4 +904,5 @@ load_file(fname, script)
if (xflag) {
+ search_shebang:
forbid_setid("-x");
xflag = Qfalse;
@@ -927,33 +928,6 @@ load_file(fname, script)
if ((p = strstr(RSTRING(line)->ptr, "ruby")) == 0) {
- /* not ruby script, kick the program */
- char **argv;
- char *path;
- char *pend = RSTRING(line)->ptr + RSTRING(line)->len;
-
- p = RSTRING(line)->ptr; /* skip `#!' */
- if (pend[-1] == '\n') pend--; /* chomp line */
- if (pend[-1] == '\r') pend--;
- *pend = '\0';
- while (p < pend && ISSPACE(*p))
- p++;
- path = p; /* interpreter path */
- while (p < pend && !ISSPACE(*p))
- p++;
- *p++ = '\0';
- if (p < pend) {
- argv = ALLOCA_N(char*, origargc+3);
- argv[1] = p;
- MEMCPY(argv+2, origargv+1, char*, origargc);
- }
- else {
- argv = origargv;
- }
- argv[0] = path;
- execv(path, argv);
-
- ruby_sourcefile = rb_source_filename(fname);
- ruby_sourceline = 1;
- rb_fatal("Can't exec %s", path);
+ /* not ruby script, assume -x flag */
+ goto search_shebang;
}
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦