[#28337] constant look up order in CVS HEAD — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2006/02/18
[#28338] Re: constant look up order in CVS HEAD — Tanaka Akira <akr@...17n.org> 2006/02/19

In article <1140229116.805371.31930.nullmailer@x31.priv.netlab.jp>,

[#28341] Re: constant look up order in CVS HEAD — GOTOU Yuuzou <gotoyuzo@...> 2006/02/19

In message <87lkw8xfay.fsf@m17n.org>,

[#28342] Re: constant look up order in CVS HEAD — Yukihiro Matsumoto <matz@...> 2006/02/19

まつもと ゆきひろです

[ruby-dev:28345] open for directory in lib/find.rb

From: "U.Nakamura" <usa@...>
Date: 2006-02-20 03:20:35 UTC
List: ruby-dev #28345
こんにちは、なかむら(う)です。

make test-allの結果を眺めていて気付いたのですが、lib/find.rbに、
[ruby-list:41102]でボツになったはずのディレクトリに対するopen
が入ってしまっています。
その時点ではErrno::ENOENTの有無についての懸念があったようです
が、それが無い処理系がある、という話が出てこなければ大丈夫なん
じゃないでしょうか。
# 既にそういう処理系を知ってる、とかだとまずいですが。

Index: lib/find.rb
===================================================================
RCS file: /home/cvs/ruby/lib/find.rb,v
retrieving revision 1.15
diff -u -1 -p -r1.15 find.rb
--- lib/find.rb	19 Nov 2005 11:42:51 -0000	1.15
+++ lib/find.rb	20 Feb 2006 03:10:55 -0000
@@ -35,3 +35,3 @@ module Find
   def find(*paths) # :yield: path
-    paths.collect!{|d| open(d){}; d.dup}
+    paths.collect!{|d| raise Errno::ENOENT unless File.readable?(d); d.dup}
     while file = paths.shift

それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread

Prev Next