[#21809] lib/test/unit/ui/tk/testrunner.rb — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

23 messages 2003/11/01
[#21815] Re: lib/test/unit/ui/tk/testrunner.rb — Hidetoshi NAGAI <nagai@...> 2003/11/01

永井@知能.九工大です.

[#21858] Re: lib/test/unit/ui/tk/testrunner.rb — nobu.nakada@... 2003/11/06

なかだです。

[#21859] Re: lib/test/unit/ui/tk/testrunner.rb — Hidetoshi NAGAI <nagai@...> 2003/11/06

永井@知能.九工大です.

[#21860] Re: lib/test/unit/ui/tk/testrunner.rb — nobu.nakada@... 2003/11/06

なかだです。

[#21861] Re: lib/test/unit/ui/tk/testrunner.rb — Hidetoshi NAGAI <nagai@...> 2003/11/07

永井@知能.九工大です.

[#21862] Re: lib/test/unit/ui/tk/testrunner.rb — nobu.nakada@... 2003/11/07

なかだです。

[#21946] Re: [ruby-cvs] ruby, ruby/lib, ruby/test/fileutils: * lib/fileutils.rb (fu_same?): check by inode instead of path name, to detect two hard links pointing to the same content. — "U.Nakamura" <usa@...>

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

14 messages 2003/11/18
[#21972] Re: [ruby-cvs] ruby, ruby/lib, ruby/test/fileutils: * lib/fileutils.rb (fu_same?): check by inode instead of path name, to detect two hard links pointing to the same content. — siena@... (Siena. / SHINAGAWA, Norihide) 2003/11/19

Siena. です。

[#22013] HTTP_PROXY — Tanaka Akira <akr@...17n.org>

ふと

19 messages 2003/11/24

[#22042] ENV["path"].tainted? — Tanaka Akira <akr@...17n.org>

ENV["path"] の値が

14 messages 2003/11/25
[#22043] Re: ENV["path"].tainted? — matz@... (Yukihiro Matsumoto) 2003/11/25

まつもと ゆきひろです

[#22071] Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

はじめまして。山本といいます。

119 messages 2003/11/28
[#22075] Re: Dir.glob と Shjift_JIS について — siena@... (Siena. / SHINAGAWA, Norihide) 2003/11/29

Siena. です。

[#22076] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/11/29

> 山本さんのパッチがうまく当たらず手パッチしたので、念のため何度か

[#22078] Re: Dir.glob と Shjift_JIS について — siena@... (Siena. / SHINAGAWA, Norihide) 2003/11/29

Siena. です。

[#22089] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/11/30

こんにちは、山本です。

[#22100] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/01

山本です。

[#22147] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/05

山本です。

[#22258] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/13

山本です。glob_helperをリファクタリングしてみました。

[#22263] Re: Dir.glob と Shjift_JIS について — nobu.nakada@... 2003/12/13

なかだです。

[#22267] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/13

山本です。

[#22441] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/27

山本です。

[#22442] Re: Dir.glob と Shjift_JIS について — matz@... (Yukihiro Matsumoto) 2003/12/27

まつもと ゆきひろです

[#22443] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/28

山本です。

[#22444] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/28

山本です。パッチを送ります。

[#22445] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/28

山本です。

[#22446] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/28

山本です。

[#22447] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/28

山本です。

[#22449] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/29

山本です。

[#22451] Re: Dir.glob とShjift_JIS について — matz@... (Yukihiro Matsumoto) 2003/12/29

まつもと ゆきひろです

[#22452] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/30

>すいません。パッチを出す時にはいつもどの時点のソースに対する

[#22453] Re: Dir.glob とShjift_JIS について — matz@... (Yukihiro Matsumoto) 2003/12/30

まつもと ゆきひろです

[#22454] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/30

>|すみません、1.8.1に対してです。

[#22455] Re: Dir.glob とShjift_JIS について — matz@... (Yukihiro Matsumoto) 2003/12/30

まつもと ゆきひろです

[#22456] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/30

こんにちは、山本です。

[#22457] Re: Dir.glob とShjift_JIS について — matz@... (Yukihiro Matsumoto) 2003/12/30

まつもと ゆきひろです

[#22470] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/31

山本です。

[#22471] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/01/01

山本です。

[#22476] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/01/02

山本です。[ruby-dev:22470]にバグがあったので修正しました。

[#22477] Re: Dir.glob とShjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/01/02

>山本です。[ruby-dev:22470]にバグがあったので修正しました。

[#22478] Re: Dir.glob とShjift_JIS について — matz@... (Yukihiro Matsumoto) 2004/01/02

まつもと ゆきひろです

[#22151] Re: Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2003/12/05

山本です。

[ruby-dev:21945] drive letter handling on OS/2 with EMX

From: siena@... (Siena. / SHINAGAWA, Norihide)
Date: 2003-11-18 10:05:53 UTC
List: ruby-dev #21945
Siena. です。

ruby 1.8.1 preview2+ (CVS HEAD) を OS/2 V4.51 with EMX 0.9d で
ビルドしたものを使っています。

これまでは単一ドライブ上で完結するスクリプトしか書いていなかったので
気付かなかったのですが、ドライブをまたがってカレントディレクトリを
変更するスクリプトを書いていてはまりました。現象とパッチを
報告しますので、問題なければ取り込んでいただけないでしょうか。


現象としては、どうやら cmd.exe と同様にドライブレターが扱われているらしく、
パス中のドライブレターが無視され、カレントドライブが変更されません。
以下の例での対話シェルの cd はドライブも変更するものとして読んでください。

$ cd F:/home ; cd E:/os2 ; ruby -e 'Dir.chdir("F:") ; puts Dir.pwd'
-e:1:in `chdir': No such file or directory - F: (Errno::ENOENT)
        from -e:1

$ cd F:/home ; cd E:/os2 ; ruby -e 'Dir.chdir("F:.") ; puts Dir.pwd'
/os2   ## カレントドライブは E: のまま

$ cd F:/home ; cd E:/os2
$ ruby -e 'Dir.chdir("F:/") ; puts Dir.pwd ; puts `cmd /c cd F:`'
/os2   ## カレントドライブは E: のまま
F:\    ## F: のカレントディレクトリは変更されている


EMX のライブラリリファレンスを確認すると、chdir(), getcwd() でなく、
ドライブレター対応の _chdir2(), _getcwd2() を使う必要があるようです。
というわけで、missing/os2.c で chdir(), getcwd() を再定義して
_chdir2(), _getcwd2() を呼ぶようにしてみました。
上のテストコードは意図したように実行できるのを確認しました。

$ cd F:/home ; cd E:/os2 ; ruby -e 'Dir.chdir("F:") ; puts Dir.pwd'
F:/home

$ cd F:/home ; cd E:/os2 ; ruby -e 'Dir.chdir("F:.") ; puts Dir.pwd'
F:/home

$ cd F:/home ; cd E:/os2
$ ruby -e 'Dir.chdir("F:/") ; puts Dir.pwd ; puts `cmd /c cd F:`'
F:/
F:\


以下、ruby/missing/os2.c に対するパッチを添付します。
automake 2.50 のメジャーな OS/2 ポートが生成するマクロ
EMX_REPLACE_GETCWD と EMX_REPLACE_CHDIR を利用しています。
EMX_REPLACE_GETCWD は、getcwd() がドライブレター非対応で、
ドライブレター対応の _getcwd2() が存在する時に定義されます。
EMX_REPLACE_CHDIR は、chdir(), _chdir2() について同様です。
_getcwd2() の第二引数はなぜか int なのでキャストしてあります。


# ところで、[ruby-dev:21765] は適当過ぎて却下でしょうか ^^;?
---
Siena. <mailto:siena@faculty.chiba-u.jp>

Index: ruby/missing/os2.c
===================================================================
RCS file: /src/ruby/missing/os2.c,v
retrieving revision 1.3
diff -u -p -2 -r1.3 os2.c
--- ruby/missing/os2.c	6 Mar 2001 08:17:18 -0000	1.3
+++ ruby/missing/os2.c	12 Nov 2003 08:25:04 -0000
@@ -24,4 +24,27 @@ link(char *from, char *to)
 }
 
+#if defined(EMX_REPLACE_GETCWD) && (EMX_REPLACE_GETCWD)  \
+ || defined(EMX_REPLACE_CHDIR)  && (EMX_REPLACE_CHDIR)
+#include <unistd.h>
+
+#if defined(EMX_REPLACE_GETCWD) && (EMX_REPLACE_GETCWD)
+/* to handle the drive letter and DBCS characters within a given path */
+char *
+getcwd(char *path, size_t len)
+{
+    return _getcwd2(path, (int)len);
+}
+#endif
+
+#if defined(EMX_REPLACE_CHDIR) && (EMX_REPLACE_CHDIR)
+/* to handle the drive letter and DBCS characters within a given path */
+int
+chdir(__const__ char *path)
+{
+    return _chdir2(path);
+}
+#endif
+#endif
+
 typedef char* CHARP;
 

In This Thread

Prev Next