[#3450] [irb:BUG] i=0; i %2 — GOTO Kentaro <gotoken@...>
ごとけんです
6 messages
1998/08/15
[#3456] ioctl & thread (Re: [ruby-list:9173] Re: gtk) — "D.Kanda" <MAP2303@...>
4 messages
1998/08/17
[#3461] Exception — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
10 messages
1998/08/24
[#3466] Re: Exception
— matz@... (Yukihiro Matsumoto)
1998/08/24
まつもと ゆきひろです
[#3462] [BUG?] open()'s command line interpretation — Shin-ichro Hara <sinara@...>
原です。
7 messages
1998/08/24
[#3463] Re: [BUG?] open()'s command line interpretation
— WATANABE Hirofumi <watanabe@...>
1998/08/24
わたなべです.
[#3471] Re: [BUG?] open()'s command line interpretation
— matz@... (Yukihiro Matsumoto)
1998/08/25
まつもと ゆきひろです
[#3464] [BUG] ENV[] = nil / cygwin32 — Shin-ichro Hara <sinara@...>
原です。
6 messages
1998/08/24
[#3484] [BUG] Array#hash — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
5 messages
1998/08/26
[#3494] [BUG] gets() blocks at the last line /CYGWIN32 — Shin-ichro Hara <sinara@...>
原です。
5 messages
1998/08/26
[ruby-dev:3463] Re: [BUG?] open()'s command line interpretation
From:
WATANABE Hirofumi <watanabe@...>
Date:
1998-08-24 09:57:37 UTC
List:
ruby-dev #3463
わたなべです.
Shin-ichro Hara <sinara@blade.nagaokaut.ac.jp> writes:
:1) open("|test/test.rb 'foo'") -> コマンドはみつかる
:2) open("|test.rb 'foo'") -> みつからない
:3) open("|test/test.rb foo" -> みつからない
:
:のですが、こんなものでしょうか。えーと、3) はみつかるのが正しいのでは
:ないかな?
' のようなメタ文字が含まれる場合は sh 経由になるので見つかる
けど, 3) は最終的に dln_find_1() でチェックされます.
これの処理がちょっと厳しすぎるのが原因ですね.
もっとゆるく / や \ が含まれていれば ok ぐらいでいいんじゃな
いかな?
--- dln.c.orig Wed Jul 29 18:50:28 1998
+++ dln.c Mon Aug 24 18:46:44 1998
@@ -1564,10 +1564,6 @@
#ifndef __MACOS__
- if (fname[0] == '/') return fname;
- if (strncmp("./", fname, 2) == 0 || strncmp("../", fname, 3) == 0)
- return fname;
+ if (strchr(fname, '/')) return fname;
#if defined(MSDOS) || defined(NT) || defined(__human68k__)
- if (fname[0] == '\\') return fname;
+ if (strchr(fname, '\\')) return fname;
if (strlen(fname) > 2 && fname[1] == ':') return fname;
- if (strncmp(".\\", fname, 2) == 0 || strncmp("..\\", fname, 3) == 0)
- return fname;
#endif