[#18987] WinCE patch — "uema2@..." <mail@...2.cjb.net>
植松と申します。
なかだです。
[#18989] caller(0) from toplevel — "NAKAMURA, Hiroshi" <nahi@...>
なひです。
[#19002] Why to_ary is defined in URI? — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、URI を puts すると、
まつもと ゆきひろです
In article <1039071939.726071.943.nullmailer@picachu.netlab.jp>,
[#19009] ipaddr.rb — "Akinori MUSHA" <knu@...>
ipaddr.rb というライブラリを rough に入れました。IP アドレスを
[#19010] Rational#zero? causes SystemStackError — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
まつもと ゆきひろです
[#19011] open-uri - very easy net access library — Tanaka Akira <akr@...17n.org>
HTTP, FTP に簡単にアクセスするための open-uri というライブラリを作って
西山和広です。
なひです。
In article <032b01c2a0fb$2f9981a0$96222fc0@godiva>,
[#19030] NT -> _WIN32 patch — "uema2@..." <mail@...2.cjb.net>
植松です。
[#19066] ruby 1.6.9 preview4 予告 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なひです。自明ですけど一応。。。
At Fri, 13 Dec 2002 15:28:47 +0900,
In article <86adj6fmj1.wl@archon.local.idaemons.org>,
うえのです。
まつもと ゆきひろです
うえのです。
At Tue, 17 Dec 2002 23:09:36 +0900,
なひです。
[#19072] ruby 1.6.8 bug? on freebsd 4.7 stable — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#19083] Re: [ruby-cvs] ruby: * file.c (utimbuf): need to define for VC++. — WATANABE Hirofumi <eban@...>
わたなべです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
わたなべです。
[#19104] lib/mkmf.rb; Shellwords.shellwords — WATANABE Hirofumi <eban@...>
わたなべです。
[#19116] allocator (Re: core dump by removing String.allocate (PR#369)) — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#19127] Re: 1.6.8-preview4 build failed (on Vine Linux 2.1.5) (PR#373) — nobu.nakada@...
なかだです。
わたなべです。
なかだです。
なかだです。
わたなべです。
[#19147] Ruby 1.7 での Object#to_a — ABE Shigeru <shiger-a@...>
みなさん、こんにちは。阿部といいます。
[#19163] [PATCH] ruby-{forward,backward}-sexp — nobu.nakada@...
なかだです。
[#19169] version.h — WATANABE Hirofumi <eban@...>
わたなべです。
[#19181] regular expression: begin position anchor — "K.Kosako" <kosako@...>
正規表現のテストスクリプトを作成していて、
[#19186] Process::times による SEGV? — ABE Shigeru <shiger-a@...>
こんにちは。阿部です。
[#19196] replace 1.7 with 1.8 in macros under wince/ — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端といいます.
植松です。
植松です。
[#19198] ruby-1.8.0 / yield(nil)とyield()のちがい — m_seki@...
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
In article <1041383157.631472.21307.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1041394108.920587.21729.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1041420724.492653.22355.nullmailer@picachu.netlab.jp>,
咳といいます。
In article <537C480E-1D9A-11D7-A418-000393814512@mva.biglobe.ne.jp>,
咳といいます。
まつもと ゆきひろです
In article <1041521460.248415.5532.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1041554769.892566.13140.nullmailer@picachu.netlab.jp>,
[#19200] replace-resolv.rb 使用で内部ループ — Teruki Shigitani <shigitani@...>
鴫谷と申します。
[#19221] Re: [ruby-cvs] ruby: * instruby.rb: use getopts.rb. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
わたなべです。
[#19233] Re: [1.8] speed — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
うえのです。
[#19239] CRLF (here document) — Daisuke Aoki <dai@...>
青木@横浜です。
青木@横浜です。
わたなべです。
なかだです。
[#19258] Re: [ruby-cvs] ruby: * node.h (struct RNode): Change argc from int to long. Otherwize — "Akinori MUSHA" <knu@...>
At Tue, 31 Dec 2002 19:24:29 +0000,
[ruby-dev:19253] Re: CRLF (here document)
なかだです。
At Tue, 31 Dec 2002 03:24:37 +0900,
WATANABE Hirofumi wrote:
> > > > > これだと、" __END__\n"がエラーになりません。
> > > >
> > > > じゃ、1.6.8も同じようにまずいっすね。
> > >
> > > あ、うそうそ。結局Ruby 1.8.0で試してました。
> >
> > なぜか1.6.8はちゃんと通りますね。あ、nextc()の中で\rをスキップ
> > する前に見てるからか。てことは#{}を改造したときにミスったか。
>
> ということは
> % ruby-1.6.8 -ve 'eval " __END__\n"'
> ruby 1.6.8 (2002-12-24) [i386-linux]
> -e:1: undefined local variable or method `__END__' for #<Object:0x40237ce0> (NameError)
> とエラーになるのは意図してなかった?
いや、その__END__は行頭から始まってるわけではないので、エラーに
なるのが正しいと思います。ミスったのは、nextc()では'\r'をスキッ
プするのにpushback()ではそれを考慮しない、というのを見落とした
というあたりです。
> > ついでに余分な条件判断をちょっと削ってみたバージョン。
>
> すみません。このメールを見る前に元のコードのなるべく活かして
> commitしちゃいました。
全然本質的なとこではないので、とくに入れる必要はないかも。
それよりも、改行コード絡みのバグがもう一つありました。
$ cat -e a.rb
p <<END^M$
foo^M$
END^M$
p <<'END'^M$
bar^M$
END^M$
$ ruby -v a.rb
ruby 1.8.0 (2002-12-31) [i686-linux]
"foo\n"
"bar\r\n"
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.238
diff -u -2 -p -r1.238 parse.y
--- parse.y 30 Dec 2002 18:19:07 -0000 1.238
+++ parse.y 30 Dec 2002 21:10:37 -0000
@@ -3119,7 +3119,7 @@ here_document(here)
{
int c, func, indent = 0;
- char *eos;
+ char *eos, *p, *pend;
long len;
- VALUE str = 0, line;
+ VALUE str = 0;
eos = RSTRING(here->nd_lit)->ptr;
@@ -3141,9 +3141,22 @@ here_document(here)
if (!(func & STR_FUNC_EXPAND)) {
do {
- line = lex_lastline;
+ p = RSTRING(lex_lastline)->ptr;
+ pend = lex_pend;
+ if (pend > p) {
+ switch (pend[-1]) {
+ case '\n':
+ if (--pend == p || pend[-1] != '\r') {
+ pend++;
+ break;
+ }
+ case '\r':
+ --pend;
+ }
+ }
if (str)
- rb_str_cat(str, RSTRING(line)->ptr, RSTRING(line)->len);
+ rb_str_cat(str, p, pend - p);
else
- str = rb_str_new(RSTRING(line)->ptr, RSTRING(line)->len);
+ str = rb_str_new(p, pend - p);
+ if (pend < lex_pend) rb_str_cat(str, "\n", 1);
lex_p = lex_pend;
if (nextc() == -1) {
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦