[#23139] backslash in string — Jun Adachi <adachi@...>
安達@沖データと申します。
8 messages
2004/03/05
[#23148] BSD make(OpenBSD3.4) で make 出来ない — KAWAJI Shinya <kawaji@...>
かわじ、です。
3 messages
2004/03/06
[#23168] File.fnmatch のリファクタリング — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
13 messages
2004/03/08
[#23175] Re: File.fnmatch のリファクタリング
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/08
山本です。
[#23176] Re: File.fnmatch のリファクタリング
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/08
山本です。
[#23184] Re: File.fnmatch のリファクタリング
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/11
山本です。
[#23187] Re: File.fnmatch のリファクタリング
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/12
山本です。
[#23171] Re: File.fnmatch のリファクタリング — kkosako@...
> -----Original Message-----
2 messages
2004/03/08
[#23173] Re: Oniguruma has been merged into ruby CVS — kkosako@...
> -----Original Message-----
4 messages
2004/03/08
[#23192] File.fnmatch と Dir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
19 messages
2004/03/13
[#23194] Re: File.fnmatch と Dir.glob の非互換部分
— matz@... (Yukihiro Matsumoto)
2004/03/13
まつもと ゆきひろです
[#23195] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/14
山本です。
[#23196] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/14
山本です。
[#23260] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/30
山本です。
[#23261] Re: File.fnmatch とDir.glob の非互換部分
— matz@... (Yukihiro Matsumoto)
2004/03/30
まつもと ゆきひろです
[#23265] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/30
山本です。
[#23267] Re: File.fnmatch とDir.glob の非互換部分
— matz@... (Yukihiro Matsumoto)
2004/03/30
まつもと ゆきひろです
[#23268] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/30
山本です。
[#23269] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/30
山本です。
[#23272] Re: File.fnmatch とDir.glob の非互換部分
— matz@... (Yukihiro Matsumoto)
2004/03/30
まつもと ゆきひろです
[#23273] Re: File.fnmatch とDir.glob の非互換部分
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/30
山本です。
[#23212] warning: fork terminates thread — Tanaka Akira <akr@...17n.org>
思い出したのですが、thread が動いている時に fork すると、
12 messages
2004/03/23
[#23213] Re: warning: fork terminates thread
— matz@... (Yukihiro Matsumoto)
2004/03/23
まつもと ゆきひろです
[#23214] Re: warning: fork terminates thread
— keiju@... (石塚圭樹)
2004/03/24
けいじゅ@いしつかです.
[#23217] Re: warning: fork terminates thread
— Tietew <tietew-ml-ruby-dev@...>
2004/03/24
[#23221] English alias — nobu.nakada@...
なかだです。
16 messages
2004/03/25
[#23226] [-0xf0000000].pack("U") again — Tanaka Akira <akr@...17n.org>
ふと、[ruby-dev:21577] で書いた
8 messages
2004/03/26
[#23227] (retry; 0).xxx {} dumps core — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、[ruby-dev:19293] に書いて誰にも反応されなかっ
4 messages
2004/03/26
[#23228] Zlib::GzipWriter.new(nil).close dumps core — Tanaka Akira <akr@...17n.org>
次のように、Zlib::GzipWriter.new(nil).close が core を吐きます。
8 messages
2004/03/26
[#23230] Re: Zlib::GzipWriter.new(nil).close dumps core
— nobu.nakada@...
2004/03/26
なかだです。
[#23231] Re: Zlib::GzipWriter.new(nil).close dumps core
— matz@... (Yukihiro Matsumoto)
2004/03/26
まつもと ゆきひろです
[#23238] Re: [ruby-cvs] ruby, ruby/lib, ruby/lib/rss, ruby/sample/openssl: * lib/logger.rb: trim tail space of each line. no user visible change. — Kouhei Sutou <kou@...>
須藤です.
10 messages
2004/03/27
[#23247] IO#readpartial — Tanaka Akira <akr@...17n.org>
ついに気が向いたので、以前から考えていた、stdio のバッファを考慮する
7 messages
2004/03/28
[#23274] Time.gm(...): gmtime/localtime error (ArgumentError) — MIYAMUKO Katsuyuki <k-miyamuko@...>
みやむこです。
6 messages
2004/03/30
[#23275] Re: Time.gm(...): gmtime/localtime error (ArgumentError)
— Tanaka Akira <akr@...17n.org>
2004/03/30
In article <4069466A.2030008@az.jp.nec.com>,
[#23283] ensure modifier — nobu.nakada@...
なかだです。
11 messages
2004/03/30
[ruby-dev:23260] Re: File.fnmatch とDir.glob の非互換部分
From:
"H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date:
2004-03-30 04:02:59 UTC
List:
ruby-dev #23260
山本です。
touch a とした後
puts File.fnmatch("a\\", "a")
puts File.fnmatch("a\\", "a\\")
puts Dir.glob("a\\")
を実行すると、
false
true
a
となって、不完全なエスケープの解釈が一貫していません。
File.fnmatch は、不完全なエスケープを通常文字の'\'とみなし、
Dir.glob は、PLAIN な場合の不完全なエスケープを remove_backslashes で削除しています。
どうするのがいいでしょうか?実装しやすいのは、不完全なエスケープを削除するのが一番です。
通常文字として扱うと、'a\/b' を '/' で単に分けたときに 'a\' と 'b' になってしまうので、
'\/' で分けるようにしないといけません。なので、remove_backslashes、glob_make_pattern で
それぞれ余分な条件文を追加しなくてはいけません。
不完全なエスケープを削除するだけなら、下のパッチだけですむと思います。'a\/b' を '/' で
分けても、'a\' は 'a' といっしょですから。もちろん、たまたまそうだというだけで、あんまり
感心しないパッチではありますが、そもそも不完全なエスケープは文法エラーなので、それに
対応するために余分なコードを追加しなくてもいいかな、と思います。
Index: dir.c
===================================================================
RCS file: /ruby/ruby/dir.c,v
retrieving revision 1.113
diff -u -w -b -p -r1.113 dir.c
--- dir.c 16 Mar 2004 02:24:47 -0000 1.113
+++ dir.c 30 Mar 2004 03:51:17 -0000
@@ -210,7 +210,7 @@ bracket(p, s, flags)
End marker itself won't be compared.
And if function succeeds, *pcur reaches end marker.
*/
-#define UNESCAPE(p) (escape && *(p) == '\\' && (p)[1] ? (p) + 1 : (p))
+#define UNESCAPE(p) (escape && *(p) == '\\' ? (p) + 1 : (p))
#define ISEND(p) (!*(p) || (pathname && *(p) == '/'))
#define RETURN(val) return *pcur = p, *scur = s, (val);