[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

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

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

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

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21344] Re: illegal member in %w array

From: nobu.nakada@...
Date: 2003-09-04 11:52:06 UTC
List: ruby-dev #21344
なかだです。

At Thu, 4 Sep 2003 20:43:16 +0900,
Yukihiro Matsumoto wrote:
> |> あ、後者ってのは「改行の前の\に特別な意味を持たせない」とい
> |> うことだけなので、その点は変わりません。というか、そこ変える
> |> と互換性の点で大変なことに。
> |
> |じゃこんなとこですしょうか。
> 
> 良さそうですね。コミットしてください。
> 
> 実は文字列リテラルまわりは十分理解できてないんで困ってたんで
> す。助かりました。もしよければ%wについても(\\nは空白のエスケー
> プの方向で)修正していただけませんか?

そうなってます。

こっちのほうが分かりやすいかも。要するに、置換が有効なときだけ
\\\nを無視するということです。行継続の有無と置換の有無を同一に
してしまっていいかちょっと自信はありませんが、とりあえず一致し
ているようなので。


Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.287
diff -u -2 -p -r1.287 parse.y
--- parse.y	1 Sep 2003 09:02:40 -0000	1.287
+++ parse.y	4 Sep 2003 09:54:49 -0000
@@ -2999,7 +3001,4 @@ tokadd_string(func, term, paren, nest)
 	    }
 	    switch (c) {
-	      case '\n':
-		continue;
-
 	      case '\\':
 		if (func & STR_FUNC_ESCAPE) tokadd(c);
@@ -3014,4 +3013,5 @@ tokadd_string(func, term, paren, nest)
 		}
 		else if (func & STR_FUNC_EXPAND) {
+		    if (c == '\n') continue;
 		    pushback(c);
 		    if (func & STR_FUNC_ESCAPE) tokadd('\\');


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

In This Thread