# \[Bug:trunk\] Dir.\[\] returns unmatched path

**URL:** <https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246>\
**Category:** Development\
**Created:** [February 27, 2010, 4:46am UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246 "2010-02-27T04:46:19Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [February 27, 2010, 4:46am UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/1 "2010-02-27T04:46:19Z")

</div>

e$B1sF#$G$9!#e(B

mingw e$B$Ge(B sample/test.rb e$B$,\<:GT$7$^$9!#D4$Y$F$\_$k$H!"0J2\<$Ne(B  
Dir.[] e$B$Ne(B  
e$B8F$S=P$77k2L$,$\*$+$7$$$h$&$J5$$,$7$^$9!#e(B

$ cat t.rb  
p Dir[“C:/Ruby/ruby/{lib,sample,ext,test}/\*\*/\*.rb”].sort.first

$ ./ruby t.rb  
“C:/Ruby/ruby/”

glob e$B$N%Q%?!\<%s$K%^%C%A$7$F$$$J$$$H;W$&$N$G$9$,!"$I$&$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [February 27, 2010, 5:07am UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/2 "2010-02-27T05:07:58Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:40514] [Bug:trunk] Dir.[] returns unmatched path”  
on Feb.27,2010 12:45:47, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> mingw e$B$Ge(B sample/test.rb e$B$,\<:GT$7$^$9!#D4$Y$F$\_$k$H!"0J2\<$Ne(B Dir.[] e$B$Ne(B  
> e$B8F$S=P$77k2L$,$\*$+$7$$$h$&$J5$$,$7$^$9!#e(B
> 
> $ cat t.rb  
> p Dir[“C:/Ruby/ruby/{lib,sample,ext,test}/\*\*/\*.rb”].sort.first
> 
> $ ./ruby t.rb  
> “C:/Ruby/ruby/”
> 
> glob e$B$N%Q%?!\<%s$K%^%C%A$7$F$$$J$$$H;W$&$N$G$9$,!"$I$&$G$7$g$&$+!#e(B

e$B$H$j$"$($:!"e(B

ruby 1.9.2dev (2010-02-27 trunk 26772) [i386-mswin32]

e$B$G$O:F8=$7$^$;$se(B(ext/bigdecimal/extconf.rbe$B$r@5$7$/=&$C$F$-$^$9e(B)e$B!#e(B

Dir.[] e$B$K$;$he(B Array#sort e$B$K$;$he(B Array#first  
e$B$K$;$he(Bmswine$B$He(Bmingw  
e$B$G5sF0$K0c$$$O$J$$$O$:$G$9$,e(B…  
e$B$H$3$m$G!"e(Bruby -v(e$B$H$$$&$+%j%S%8%g%se(B)e$B$Oe(B?

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [February 27, 2010, 5:17am UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/3 "2010-02-27T05:17:56Z")

</div>

e$B1sF#$G$9!#e(B

2010e$BG/e(B2e$B7ne(B27e$BF|e(B13:07 U.Nakamura [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > glob e$B$N%Q%?!\<%s$K%^%C%A$7$F$$$J$$$H;W$&$N$G$9$,!"$I$&$G$7$g$&$+!#e(B
> 
> e$B$H$j$"$($:!"e(B
> 
> ruby 1.9.2dev (2010-02-27 trunk 26772) [i386-mswin32]
> 
> e$B$G$O:F8=$7$^$;$se(B(ext/bigdecimal/extconf.rbe$B$r@5$7$/=&$C$F$-$^$9e(B)e$B!#e(B
> 
> Dir.[] e$B$K$;$he(B Array#sort e$B$K$;$he(B Array#first e$B$K$;$he(Bmswine$B$He(Bmingw  
> e$B$G5sF0$K0c$$$O$J$$$O$:$G$9$,e(B…

e$B$"$l$l!#e(B

> e$B$H$3$m$G!"e(Bruby -v(e$B$H$$$&$+%j%S%8%g%se(B)e$B$Oe(B?

e$B$“!”$9$\_$^$;$s!#e(B

$ ./ruby -v t.rb  
ruby 1.9.2dev (2010-02-26) [i386-mingw32]  
“C:/Ruby/ruby/”

e$B$G$9!#e(B

e$BIT;W5D$J$3$H$Ke(B miniruby e$B$@$H$A$c$s$HF0$-$^$7$?!#e(B

$ ./miniruby.exe -v t.rb  
ruby 1.9.2dev (2010-02-26) [i386-mingw32]  
“C:/Ruby/ruby/ext/bigdecimal/extconf.rb”

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [February 27, 2010, 5:36am UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/4 "2010-02-27T05:36:04Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:40518] Re: [Bug:trunk] Dir.[] returns unmatched  
path”  
on Feb.27,2010 13:17:21, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > e$B$H$3$m$G!"e(Bruby -v(e$B$H$$$&$+%j%S%8%g%se(B)e$B$Oe(B?
> 
> e$B$“!”$9$\_$^$;$s!#e(B
> 
> $ ./ruby -v t.rb  
> ruby 1.9.2dev (2010-02-26) [i386-mingw32]  
> “C:/Ruby/ruby/”
> 
> e$B$G$9!#e(B

e$B$U$&$`!"$A$J$\_$K$3$A$i$G$Oe(B2010-02-08e$B$G$bBg\>fIW$G$7$?!#e(B

> e$BIT;W5D$J$3$H$Ke(B miniruby e$B$@$H$A$c$s$HF0$-$^$7$?!#e(B
> 
> $ ./miniruby.exe -v t.rb  
> ruby 1.9.2dev (2010-02-26) [i386-mingw32]  
> “C:/Ruby/ruby/ext/bigdecimal/extconf.rb”

e$B$J$K$=$l$3$o$$!#e(B

minirubye$B$He(Brubye$B$Ge(Bglobe$B$K0c$$$O$J$$$h$&$Je(B… …  
e$B$“!”$“$j$^$7$?!#e(Bencodinge$BMm$\_!#e(B  
e$B$G$b%7%9%F%`$+$i\<h$C$F$k$+$i$d$C$Q$jF1$87k2L$K$J$k$h$&$J5$$be(B  
e$B$9$k$s$@$1$I$J$”!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [April 9, 2010, 1:11pm UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/5 "2010-04-09T13:11:46Z")

</div>

e$B1sF#$G$9!#e(B

2010e$BG/e(B4e$B7ne(B9e$BF|e(B19:08 Masaya TARUI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B85$r$?$I$l$Pe(Bpush\_globe$B4X?tFb$Ge(BRSTRING\_PTR(str)e$B$rEO$7$F$$$k$N$K!"e(B  
> stre$B$,e(BGCe$B$Ge(Bmarke$B$5$l$:$K2s\<}$5$l$k$?$a$J$N$G!"e(B
> 
> e$B0J2\<$Ne(Bpatche$B!Je(BIRCe$B$G65$($F$b$i$C$?e(Bpatche$B$G$9$,e(B)e$B$GD\>$k;v$r3NG’$7$^$7$?!#e(B

e$B$b$&\<j85$Ne(B mingw  
e$B4D6-$O\>C$7$F$7$^$C$?$N$G:F;n$O$7$F$$$J$$$N$G$9$,!“e(B  
e$BL@$i$+$K$^$:$$%3!\<%I$G$”$j!"C.2H$5$s$N4D6-$G$OD\>$k$H$N$3$H$J$N$G!"e(B  
e$B\<h$j9~$\_$^$7$?!#e(B

e$B$9$P$i$7$$D4::$G$7$?!#$"$j$,$H$&$4$6$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [April 9, 2010, 1:17pm UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/6 "2010-04-09T13:17:38Z")

</div>

e$B%A%1%C%He(B #2821 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r27268.  
Yusuke, thank you for reporting this issue.  
Your contribution to Ruby is greatly appreciated.  
May Ruby be with you.

* * *

[http://redmine.ruby-lang.org/issues/show/2821](http://redmine.ruby-lang.org/issues/show/2821)

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [April 9, 2010, 12:10pm UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/7 "2010-04-09T12:10:19Z")

</div>

e$BC.2H$H$$$$$^$9!#e(B

dir.ce$B$K$_$$$F!“e(Bruby\_brace\_expande$B4X?t$Ne(Bstre$B$,e(Bwhile(p\<rbrace)e$B%k!\<%WFb$NESCf$G2u$l$Fe(B  
e$BITDj$K$J$k$N$,D\>@$N860x$G$7$?!#e(B  
GCe$B$,5/$-$k$H2u$l$k$N$G!”@x:\_E_$KLdBj$N$“$C$?4D6-$G$O!“e(B  
100.times{  
a=  
Dir[”#{dir}{ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,ext,win32}/\*\*/\*.rb”].sort

p [a.select{|i| i=~/win32/}.size,a.size,a[0]]  
}  
e$B$H$+$9$k$He(BSEGVe$B$r4^$a$\*$+$7$J7k2L$r=P$9$H;W$$$^$9!#e(B

e$B85$r$?$I$l$Pe(Bpush\_globe$B4X?tFb$Ge(BRSTRING\_PTR(str)e$B$rEO$7$F$$$k$N$K!"e(B  
stre$B$,e(BGCe$B$Ge(Bmarke$B$5$l$:$K2s\<}$5$l$k$?$a$J$N$G!"e(B

e$B0J2\<$Ne(Bpatche$B!Je(BIRCe$B$G65$($F$b$i$C$?e(Bpatche$B$G$9$,e(B)e$B$GD\>$k;v$r3NG’$7$^$7$?!#e(B

#GCe$BI]$$e(B

> svn diff dir.c  
> Index: dir.c  
> ===================================================================  
> — dir.c (e$B%j%S%8%g%se(B 27267)  
> +++ dir.c (e$B:n6H%3%T!\<e(B)  
> @@ -1622,14 +1622,17 @@  
> {  
> struct glob\_args args;  
> rb\_encoding \*enc = rb\_enc\_get(str);

- int ret;

- 
- return ruby\_brace\_glob0(RSTRING\_PTR(str), flags | GLOB\_VERBOSE,
- 

```
                      rb_glob_caller, (VALUE)&args, enc);

```

- 
- ret = ruby\_brace\_glob0(RSTRING\_PTR(str), flags | GLOB\_VERBOSE,
- 

```
                     rb_glob_caller, (VALUE)&args, enc);

```

- RB\_GC\_GUARD(str);
- return ret;  
}

static VALUE

2010e$BG/e(B2e$B7ne(B27e$BF|e(B13:35 U.Nakamura [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [April 9, 2010, 1:22pm UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/8 "2010-04-09T13:22:19Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:40939] Re: [Bug:trunk] Dir.[] returns  
unmatched path”  
on Fri, 9 Apr 2010 19:08:26 +0900, Masaya TARUI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|e$B85$r$?$I$l$Pe(Bpush\_globe$B4X?tFb$Ge(BRSTRING\_PTR(str)e$B$rEO$7$F$$$k$N$K!"e(B  
|stre$B$,e(BGCe$B$Ge(Bmarke$B$5$l$:$K2s\<}$5$l$k$?$a$J$N$G!"e(B  
|  
|e$B0J2\<$Ne(Bpatche$B!Je(BIRCe$B$G65$($F$b$i$C$?e(Bpatche$B$G$9$,e(B)e$B$GD\>$k;v$r3NG’$7$^$7$?!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!#:3:Y$J2~A1$H8@$($Pe(B RB\_GC\_GUARD  
e$B$r@h$K$_e(B  
e$B$$$F$_$1$P!"e(Bret e$B$KLa$jCM$rJ]B8$9$kI,MW$O$J$$$h$&$K;W$$$^$9!#e(B

e$B$D$^$je(B

```
RB_GC_GUARD(str);
return ruby_brace_glob0(RSTRING_PTR(str), flags | GLOB_VERBOSE,
                        rb_glob_caller, (VALUE)&args, enc);

```

e$B$H$$$&$3$H!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [April 9, 2010, 1:28pm UTC](https://www.ruby-forum.com/t/bug-trunk-dir-returns-unmatched-path/184246/9 "2010-04-09T13:28:10Z")

</div>

e$B1sF#$G$9!#e(B

2010e$BG/e(B4e$B7ne(B9e$BF|e(B20:21 Yukihiro M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B$"$j$,$H$&$4$6$$$^$9!#:3:Y$J2~A1$H8@$($Pe(B RB\_GC\_GUARD e$B$r@h$K$_e(B  
> e$B$$$F$_$1$P!"e(Bret e$B$KLa$jCM$rJ]B8$9$kI,MW$O$J$$$h$&$K;W$$$^$9!#e(B
> 
> e$B$D$^$je(B
> 
> RB\_GC\_GUARD(str);  
> return ruby\_brace\_glob0(RSTRING\_PTR(str), flags | GLOB\_VERBOSE,  
> rb\_glob\_caller, (VALUE)&args, enc);
> 
> e$B$H$$$&$3$H!#e(B

e$B$&!"3N$+$K!#e(B  
e$B$=$N%Q%C%A$r=q$$$?$N$O;d$J$N$G!"D\>$7$F$\*$-$^$9!#e(B
