[#27919] 1.8.4 Preview2 検証 — "URABE Shyouhei aka. mput" <root@...>

卜部です。

33 messages 2005/12/01

[#27997] 1.8.4 documents? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

22 messages 2005/12/12
[#28017] Re: 1.8.4 documents? — Koji Arai <jca02266@...> 2005/12/13

新井です。

[#28082] ruby_1_8 Segmentation fault on Cygwin — yanagi@...

柳田です。

13 messages 2005/12/21
[#28083] Re: ruby_1_8 Segmentation fault on Cygwin — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/21

山本です。

[#28140] ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org>

HP-UX で HP aC++/ANSI C を使って作った ruby で、openssl や drb のテストをすると、

34 messages 2005/12/27
[#28141] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/28

渡辺哲也です。

[#28142] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <200512280307.jBS37nnj005909@pbsg500.nifty.com>,

[#28147] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/28

山本です。

[#28149] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <20051228210640.13C71A10.ocean@m2.ccsnet.ne.jp>,

[#28151] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/29

渡辺哲也です。

[#28152] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28153] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28154] thread based generator.rb — Tanaka Akira <akr@...17n.org> 2005/12/29

In article <20051229114438.44D19F00.ocean@m2.ccsnet.ne.jp>,

[ruby-dev:27938] Re: FNM_CASEFOLD on case-sensitive system

From: nobuyoshi nakada <nobuyoshi.nakada@...>
Date: 2005-12-02 12:40:21 UTC
List: ruby-dev #27938
なかだです。

At Fri, 2 Dec 2005 21:04:28 +0900,
H.Yamamoto wrote in [ruby-dev:27937]:
> >というわけで、文字ケースを区別しないシステムについては、この変
> >更はまったく影響しないはずです。問題があるとすれば、CASEFOLDか
> >どうかをDOSISHかどうかだけで判断してしまっている点でしょう。
> >CASEFOLD_FILESYSTEMとかなんとか、別のマクロでコントロールするよ
> >うにすべきだったのでしょう、最初から。
> 
> そうですか・・・余計なことを言ったようです。コミットを邪魔した上、
> 放置する形になって申し訳ありませんでした。

いえ、DOSISHでないCASEFOLDなシステムについては考慮していません
でしたし、私もほとんど忘れてましたし。

ということで、[ruby-dev:23296]も取り込んでこんなところでどうで
しょうか。


Index: dir.c
===================================================================
RCS file: /src/ruby/dir.c,v
retrieving revision 1.149
diff -U2 -p -r1.149 dir.c
--- dir.c	2 Dec 2005 10:10:19 -0000	1.149
+++ dir.c	2 Dec 2005 12:36:46 -0000
@@ -68,8 +68,21 @@ char *strchr(char*,char);
 #endif
 
+#ifndef CASEFOLD_FILESYSTEM
+# if defined DOSISH || defined __VMS
+#   define CASEFOLD_FILESYSTEM 1
+# else
+#   define CASEFOLD_FILESYSTEM 0
+# endif
+#endif
+
 #define FNM_NOESCAPE	0x01
 #define FNM_PATHNAME	0x02
 #define FNM_DOTMATCH	0x04
 #define FNM_CASEFOLD	0x08
+#if CASEFOLD_FILESYSTEM
+#define FNM_SYSCASE	FNM_CASEFOLD
+#else
+#define FNM_SYSCASE	0
+#endif
 
 #define FNM_NOMATCH	1
@@ -932,4 +945,5 @@ has_magic(const char *s, int flags)
 {
     const int escape = !(flags & FNM_NOESCAPE);
+    const int nocase = flags & FNM_CASEFOLD;
 
     register const char *p = s;
@@ -947,4 +961,8 @@ has_magic(const char *s, int flags)
 		return 0;
 	    continue;
+
+	  default:
+	    if (!FNM_SYSCASE && ISALPHA(c) && nocase)
+		return 1;
 	}
 
@@ -1296,9 +1314,7 @@ ruby_glob0(const char *path, int flags, 
 
     start = root = path;
+    flags |= FNM_SYSCASE;
 #if defined DOSISH
-    flags |= FNM_CASEFOLD;
     root = rb_path_skip_prefix(root);
-#else
-    flags &= ~FNM_CASEFOLD;
 #endif
 
@@ -1343,6 +1359,6 @@ rb_glob2(const char *path, int flags, vo
     args.value = arg;
 
-    if (flags & FNM_CASEFOLD) {
-	rb_warn("Dir.glob() ignores File::FNM_CASEFOLD");
+    if (flags & FNM_SYSCASE) {
+	rb_warning("Dir.glob() ignores File::FNM_CASEFOLD");
     }
 
@@ -1823,3 +1839,4 @@ Init_Dir(void)
     rb_file_const("FNM_DOTMATCH", INT2FIX(FNM_DOTMATCH));
     rb_file_const("FNM_CASEFOLD", INT2FIX(FNM_CASEFOLD));
+    rb_file_const("FNM_SYSCASE", INT2FIX(FNM_SYSCASE));
 }


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread