< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(自分と同じ返事先を持つ)
N :次の記事
|<:スレッドの先頭
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
なかだです。
At Thu, 27 Jun 2002 01:53:31 +0900,
Nobuyoshi-Nakada wrote:
> diff -u -2 -p -r1.193 parse.y
> --- parse.y 26 Jun 2002 08:00:55 -0000 1.193
> +++ parse.y 26 Jun 2002 16:48:04 -0000
ダメということにするかどうかはさておき、マルチバイトのことをまっ
たく考えてなかったんで訂正。
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.194
diff -u -2 -p -r1.194 parse.y
--- parse.y 26 Jun 2002 23:29:10 -0000 1.194
+++ parse.y 27 Jun 2002 00:03:55 -0000
@@ -102,4 +102,5 @@ static int class_nest = 0;
static int in_single = 0;
static int in_def = 0;
+static int in_string = 0;
static int compile_for_eval = 0;
static ID cur_mid = 0;
@@ -1947,4 +1948,5 @@ string_content : tSTRING_CONTENT {$$ = N
lex_strterm = 0;
lex_state = EXPR_BEG;
+ ++in_string;
}
compstmt '}'
@@ -1957,4 +1959,5 @@ string_content : tSTRING_CONTENT {$$ = N
rb_gc_force_recycle((VALUE)$4);
}
+ --in_string;
}
;
@@ -2406,4 +2409,5 @@ yycompile(f, line)
in_single = 0;
in_def = 0;
+ in_string = 0;
cur_mid = 0;
@@ -3162,7 +3166,17 @@ yylex()
case '#': /* it's a comment */
- while ((c = nextc()) != '\n') {
- if (c == -1)
- return 0;
+ if (in_string) {
+ while ((c = nextc()) != '\n') {
+ int w;
+ if (c == '}') goto retry;
+ if (c == -1) return 0;
+ if ((w = ismbchar(c) - 1) > 0 && (lex_p += w) > lex_pend) {
+ lex_p = lex_pend;
+ break;
+ }
+ }
+ }
+ else {
+ lex_p = lex_pend;
}
/* fall through */
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦