[#38323] [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@...

押田です。

22 messages 2009/04/24
[#38331] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/26

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

[#38339] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/04/27

押田です。

[#38340] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/27

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

[#38697] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/06/21

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

[#38711] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/06/24

押田です。

[#38723] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/01

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

[#38743] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/07

押田です。

[#38747] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

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

[#38748] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/08

押田です。

[#38749] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

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

[ruby-dev:38305] Re: [BUG:1.9] Dir.glob should not convert entries on UNIX

From: ujihisa <ujihisa@...>
Date: 2009-04-14 07:23:33 UTC
List: ruby-dev #38305
ujihisaといいます。

r23171 から、bracketを含むDir.globがうまく動いていませんでした。
$ ./ruby -e "p Dir.glob('/[ae]tc/')"
[]

以下はパッチです。これを当てると、 mspec ./spec/rubyspec/core/dir/glob_spec.rb に通るようになります。

diff --git a/dir.c b/dir.c
index 14b4872..dab55f7 100644
--- a/dir.c
+++ b/dir.c
@@ -136,9 +136,12 @@ bracket(
 	else {
 	    if (ok) continue;
 	    if (r <= (send-s) && memcmp(p, s, r) == 0) continue;
-	    if (!nocase) continue;
-	    c1 = rb_enc_toupper(rb_enc_codepoint(s, send, enc), enc);
-	    c2 = rb_enc_toupper(rb_enc_codepoint(p, pend, enc), enc);
+	    c1 = rb_enc_codepoint(t1, t1 + strlen(t1), enc);
+	    c2 = rb_enc_codepoint(s, send, enc);
+	    if (nocase) {
+		c1 = rb_enc_toupper(c1, enc);
+		c2 = rb_enc_toupper(c2, enc);
+	    }
 	    if (c1 != c2) continue;
 	}
 	ok = 1;

In This Thread