[#19457] equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org>

ふと気がついたのですが、

39 messages 2003/02/02
[#19460] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/03

まつもと ゆきひろです

[#19473] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044245817.592933.31973.nullmailer@picachu.netlab.jp>,

[#19474] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19475] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044329220.257740.28127.nullmailer@picachu.netlab.jp>,

[#19476] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19477] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044331431.138035.28173.nullmailer@picachu.netlab.jp>,

[#19478] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19479] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044332948.099873.28206.nullmailer@picachu.netlab.jp>,

[#19482] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19486] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044338964.502066.28474.nullmailer@picachu.netlab.jp>,

[#19491] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19493] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19556] compare between String and Exception — Tanaka Akira <akr@...17n.org> 2003/02/12

さらに気が付いたのですが、

[#19514] [Oniguruma] Version 1.7.1 — "K.Kosako" <kosako@...>

ftp.ruby-lang.orgに、onigd20030207.tar.gzを置きました。

19 messages 2003/02/07

[#19548] [PATCH] file.c for (PR#389) and (PR#390) — nobu.nakada@...

なかだです。

20 messages 2003/02/11
[#19572] Re: [PATCH] file.c for (PR#389) and (PR#390) — pegacorn@... 2003/02/14

From: nobu.nakada@nifty.ne.jp

[#19648] Re: SEGV at search_method in eval.c (PR#400) — nobu.nakada@...

なかだです。

13 messages 2003/02/24

[ruby-dev:19549] Re: [PATCH] file.c for (PR#389) and (PR#390)

From: matz@... (Yukihiro Matsumoto)
Date: 2003-02-11 13:24:28 UTC
List: ruby-dev #19549
まつもと ゆきひろです

In message "[ruby-dev:19548] [PATCH] file.c for (PR#389) and (PR#390)"
    on 03/02/11, nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:

|まつもとさんのほうで直してるかも知れませんが、
|File.dirname("a///b") => "a//"となるのも気になったので直してみ
|ました。

直してます。わたしのはドライブレターとか見てないので、なかだ
さんの修正のほうがよいのかもしれません。私の修正はこんな感じ
です。今ちょっと気力がないので(いつものことですが)、見比べて
よさそうなのをコミットしてくださると助かります。

Tue Feb 11 02:15:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* file.c (strrdirsep): ignore trailing '/' characters.

	* file.c (rb_file_s_basename): remove trailing '/' characters.

Mon Feb 10 23:05:06 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* file.c (rb_file_s_expand_path): File.expand_path(".","/") should
	  return "/". (ruby-bugs-ja PR#389)

Index: file.c
===================================================================
RCS file: /src/ruby/file.c,v
retrieving revision 1.131
diff -p -u -1 -r1.131 file.c
--- file.c	31 Jan 2003 04:00:14 -0000	1.131
+++ file.c	11 Feb 2003 13:22:56 -0000
@@ -1415,3 +1415,9 @@ strrdirsep(path)
 	if (isdirsep(*path)) {
-	    last = path++;
+	    char *tmp = path+1;
+	    while (*tmp && isdirsep(*tmp)) {
+		tmp++;
+	    }
+	    if (!*tmp) break;
+	    last = path;
+	    path = tmp;
 	}
@@ -1580,2 +1586,3 @@ rb_file_s_expand_path(argc, argv)
 	while (p > buf && strrdirsep(buf) == p - 1) p--;
+	if (p == buf) p++;
     }
@@ -1711,3 +1718,3 @@ rb_file_s_basename(argc, argv)
 		f = rmext(name, ext);
-	   }
+	    }
 	}
@@ -1722,7 +1729,7 @@ rb_file_s_basename(argc, argv)
 	if (NIL_P(fext) || !(f = rmext(p, ext))) {
-	    basename = rb_str_new2(p);
-	}
-	else {
-	    basename = rb_str_new(p, f);
+	    f = strlen(p) - 1;	/* remove trailing / */
+	    while (f > 0 && p[f] == '/') f--;
+	    f++;
 	}
+	basename = rb_str_new(p, f);
     }

In This Thread