[#9642] Re: host.conf は参照しないの? — akira yamada / やまだあきら <akira@...>

15 messages 2000/05/09

[#9672] IO.popen — Koji Arai <JCA02266@...>

新井です。

22 messages 2000/05/13
[#9673] Re: IO.popen — Koji Arai <JCA02266@...> 2000/05/13

新井です。

[#9682] Re: IO.popen — matz@... (Yukihiro Matsumoto) 2000/05/14

まつもと ゆきひろです

[#9676] support mingw32 — WATANABE Hirofumi <eban@...>

わたなべです.

32 messages 2000/05/13
[#9678] Re: support mingw32 — Masaki Suketa <CQN02273@...> 2000/05/14

助田です.

[#9680] Re: support mingw32 — WATANABE Hirofumi <eban@...> 2000/05/14

わたなべです.

[#9686] Re: support mingw32 — Katsuyuki Komatsu <komatsu@...> 2000/05/15

小松です。

[#9687] Re: support mingw32 — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/05/15

わたなべです.

[#9806] rescue variable syntax — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2000/05/24
[#9811] Re: rescue variable syntax — ARIMA Yasuhiro <fit0298@...> 2000/05/24

有馬です。

[#9814] Re: rescue variable syntax — matz@... (Yukihiro Matsumoto) 2000/05/24

まつもと ゆきひろです

[#9821] Re: rescue variable syntax — nobu.nakada@... 2000/05/25

なかだです。

[#9823] Re: rescue variable syntax — ARIMA Yasuhiro <fit0298@...> 2000/05/25

有馬です。

[#9833] Re: rescue variable syntax — matz@... (Yukihiro Matsumoto) 2000/05/25

まつもと ゆきひろです

[#9861] Re: rescue variable syntax — gotoken@... (GOTO Kentaro) 2000/05/25

ごとけんです

[#9866] Re: rescue variable syntax — matz@... (Yukihiro Matsumoto) 2000/05/25

まつもと ゆきひろです

[#9870] Re: rescue variable syntax — nagai@... 2000/05/26

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

[#9873] Re: rescue variable syntax — matz@... (Yukihiro Matsumoto) 2000/05/27

まつもと ゆきひろです

[#9812] Forward: Error in NT makefile (PR#7) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 2000/05/24
[#9820] Re: Forward: Error in NT makefile (PR#7) — Katsuyuki Komatsu <komatsu@...> 2000/05/25

小松です。

[#9842] Re: Forward: Error in NT makefile (PR#7) — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/05/25

わたなべです.

[#9855] Re: Forward: Error in NT makefile (PR#7) — Katsuyuki Komatsu <komatsu@...> 2000/05/25

小松です。

[#9879] Re: Forward: Error in NT makefile (PR#7) — WATANABE Hirofumi <eban@...> 2000/05/28

わたなべです.

[#9857] $0 handling on NT — Katsuyuki Komatsu <komatsu@...>

小松です。

18 messages 2000/05/25
[#9869] Re: $0 handling on NT — nobu.nakada@... 2000/05/26

なかだです。

[ruby-dev:9851] [patch] regex escape

From: Minero Aoki <aamine@...>
Date: 2000-05-25 12:37:39 UTC
List: ruby-dev #9851
あおきです。

p /[#{"\x00"}-#{"\x20"}]/

みたいなのが  /[-]/  になってしまって悲しいので
エスケープして表示するパッチを書きました。
よかったらとりこんでください。
-------------------------------------------------------------------
あおきみねろう

Thu May 25 21:28:44 JST 2000  Minero Aoki <aamine@dp.u-netsurf.ne.jp>

	* re.c (rb_reg_expr_str): escape un-printable character.


--- org.re.c	Thu May 25 20:29:53 2000
+++ re.c	Thu May 25 21:23:22 2000
@@ -211,17 +211,17 @@
     int len;
 {
     const char *p, *pend;
-    int slash = 0;
+    int need_escape = 0;
 
     p = s; pend = p + len;
     while (p<pend) {
-	if (*p == '/') {
-	    slash = 1;
+	if (*p == '/' || (!ISPRINT(*p) && !ismbchar(*p))) {
+	    need_escape = 1;
 	    break;
 	}
 	p++;
     }
-    if (!slash) {
+    if (!need_escape) {
 	rb_str_cat(str, s, len);
     }
     else {
@@ -232,9 +232,44 @@
 		rb_str_cat(str, &c, 1);
 		rb_str_cat(str, p, 1);
 	    }
-	    else {
+	    else if (ismbchar(*p)) {
+	    	rb_str_cat(str, p, mbclen(*p));
+		p += mbclen(*p);
+		continue;
+	    }
+	    else if (ISPRINT(*p)) {
 		rb_str_cat(str, p, 1);
 	    }
+	    else {
+		char b[8];
+		switch (*p) {
+		case '\r':
+		    rb_str_cat(str, "\\r", 2);
+		    break;
+		case '\n':
+		    rb_str_cat(str, "\\n", 2);
+		    break;
+		case '\t':
+		    rb_str_cat(str, "\\t", 2);
+		    break;
+		case '\f':
+		    rb_str_cat(str, "\\f", 2);
+		    break;
+		case 007:
+		    rb_str_cat(str, "\\a", 2);
+		    break;
+		case 013:
+		    rb_str_cat(str, "\\v", 2);
+		    break;
+		case 033:
+		    rb_str_cat(str, "\\e", 2);
+		    break;
+		default:
+		    sprintf(b, "\\%03o", *p & 0377);
+		    rb_str_cat(str, b, 4);
+		    break;
+		}
+	    }
 	    p++;
 	}
     }

In This Thread

Prev Next