[#6828] bug in mailread.rb, and: proposal for Mail#to_s — Wybo Dekker <wybo@...>
mailread separates mail messages looking for /^From /.
Hi,
[#6847] Re: Proposed patch for optparse to fix multi line argument handling — Daniel Hobe <hobe@...>
The attached patch fixes a bug in Optparse (at least I think it is a
Hi,
[#6864] ruby 1.8.4 rc breaks alias_method/rails in bad ways — "Ara.T.Howard" <ara.t.howard@...>
Ara.T.Howard wrote:
On Tue, 13 Dec 2005, [ISO-8859-15] Florian Growrote:
On Dec 12, 2005, at 1:19 PM, ara.t.howard@noaa.gov wrote:
On Tue, 13 Dec 2005, James Edward Gray II wrote:
On Dec 12, 2005, at 1:42 PM, ara.t.howard@noaa.gov wrote:
On Dec 12, 2005, at 2:10 PM, James Edward Gray II wrote:
On Tue, 13 Dec 2005, James Edward Gray II wrote:
[#6888] Iconv library - differences between Ruby 1.8.2 and 1.8.4? — "Dave Burt" <dave@...>
Hi,
[#6891] Time.utc! and Time.localtime! — Daniel Hobe <hobe@...>
Writing a script yesterday I found out, much to my surprise, that the
On Dec 14, 2005, at 11:36 AM, Daniel Hobe wrote:
Hi,
[#6894] Dir.tmpdir RDoc — Eric Hodel <drbrain@...7.net>
Speaking of tmpdir, I'm curious why the tmpdir source
[#6906] Add Missing HTTP Headers and Status Codes to Ruby CGI — Paul Duncan <pabs@...>
Hi Everyone,
[#6911] IO.open not calling close in block form? — Daniel Berger <Daniel.Berger@...>
What happened to the block form of IO.open after 1.8.2? It's supposed to
[#6918] change to yaml in 1.8.4 — ara.t.howard@...
-----BEGIN PGP SIGNED MESSAGE-----
On Sat, 17 Dec 2005, Jeremy Kemper wrote:
On Sat, 2005-12-17 at 03:10 +0900, ara.t.howard@noaa.gov wrote:
On Dec 16, 2005, at 2:57 PM, Tom Copeland wrote:
On Sat, 2005-12-17 at 09:02 +0900, Eric Hodel wrote:
On Dec 16, 2005, at 5:30 PM, Tom Copeland wrote:
[#6934] 1.8.x, YAML, and release management — Ryan Davis <ryand-ruby@...>
I'm concerned that 1.8.3's acceptance of non-backwards-compatible
Hi.
Ryan Davis (ryand-ruby@zenspider.com) wrote:
On Saturday 17 December 2005 22:18, Ryan Davis wrote:
Hi.
[#6964] Array Documentation Issues — James Edward Gray II <james@...>
Let's start with:
[#6979] ruby 1.8.4 preview3 — Yukihiro Matsumoto <matz@...>
Hi,
[#6980] Re: ruby 1.8.4 preview3 — Kailden <kailden@...>
matz> I have just put 1.8.4 preview3 on the server.
[#6996] Problems building 1.8.4 with VS8 C++ Express Edition (cl 14.00) — Austin Ziegler <halostatue@...>
Visual Studio C++ 2005 Express Edition (VS 8.0)
Hello,
On 26/12/05, U.Nakamura <usa@garbagecollect.jp> wrote:
>>> __pioinfo structure may have been changed.
Hi.
I have replaced the config/makefile setup for Ruby using C++ Express, and I
Hi,
Hello,
Hi,
On 27/12/05, nobuyoshi nakada <nobuyoshi.nakada@ge.com> wrote:
Hello,
[#7008] Install fails to create directories — noreply@...
Bugs item #3115, was opened at 2005-12-28 05:00
Hi,
[#7028] Ruby 1.8.4 RDoc HTML Cleanups and HTML Language Support — Paul Duncan <pabs@...>
Hi,
Hi.
* H.Yamamoto (ocean@m2.ccsnet.ne.jp) wrote:
* H.Yamamoto (ocean@m2.ccsnet.ne.jp) wrote:
Re: [PATCH] Re: IO.open not calling close in block form?
Hi,
At Fri, 16 Dec 2005 10:45:35 +0900,
Mauricio Fernandez wrote in [ruby-core:06912]:
> What about this?
It won't work fine if closed? method is overridden.
I think the original problem posted at [ruby-dev:27156] is
which should be honored, a jump from the body or one from the
ensure clause. Currently, this code just returns an exception
instead of raising it.
def protect
yield
ensure
return $!
end
p protect {raise} # => RuntimeError, not `unhandled exception'
One thought is to give priority to the body than the ensure
clause. That is to let the following code raise "foo" instead
of "bar".
begin
raise "foo"
ensure
raise "bar"
end
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.616.2.140
diff -U2 -p -u -r1.616.2.140 eval.c
--- eval.c 12 Dec 2005 03:36:48 -0000 1.616.2.140
+++ eval.c 16 Dec 2005 02:17:50 -0000
@@ -995,4 +995,20 @@ static struct tag *prot_tag;
#define TAG_DST() (_tag.dst == (VALUE)ruby_frame->uniq)
+#define ENSURE_PROC(state, ensures) do { \
+ volatile VALUE retval = prot_tag ? prot_tag->retval : Qnil; \
+ volatile VALUE errinfo = ruby_errinfo; \
+ \
+ if (state) { \
+ PUSH_TAG(PROT_NONE); \
+ if (!EXEC_TAG()) {ensures;} \
+ POP_TAG(); \
+ } \
+ else { \
+ ensures; \
+ } \
+ if (prot_tag) return_value(retval); \
+ ruby_errinfo = errinfo; \
+ } while (0)
+
#define TAG_RETURN 0x1
#define TAG_BREAK 0x2
@@ -3247,10 +3263,5 @@ rb_eval(self, n)
POP_TAG();
if (node->nd_ensr) {
- VALUE retval = prot_tag->retval; /* save retval */
- VALUE errinfo = ruby_errinfo;
-
- rb_eval(self, node->nd_ensr);
- return_value(retval);
- ruby_errinfo = errinfo;
+ ENSURE_PROC(state, rb_eval(self, node->nd_ensr));
}
if (state) JUMP_TAG(state);
@@ -5356,5 +5367,4 @@ rb_ensure(b_proc, data1, e_proc, data2)
int state;
volatile VALUE result = Qnil;
- VALUE retval;
PUSH_TAG(PROT_NONE);
@@ -5363,7 +5373,5 @@ rb_ensure(b_proc, data1, e_proc, data2)
}
POP_TAG();
- retval = prot_tag ? prot_tag->retval : Qnil; /* save retval */
- (*e_proc)(data2);
- if (prot_tag) return_value(retval);
+ ENSURE_PROC(state, (*e_proc)(data2));
if (state) JUMP_TAG(state);
return result;
Index: io.c
===================================================================
RCS file: /cvs/ruby/src/ruby/io.c,v
retrieving revision 1.246.2.93
diff -U2 -p -r1.246.2.93 io.c
--- io.c 12 Dec 2005 03:36:49 -0000 1.246.2.93
+++ io.c 16 Dec 2005 01:12:07 -0000
@@ -2151,8 +2151,4 @@ io_close(io)
VALUE io;
{
- if (TYPE(io) == T_FILE) {
- rb_io_close(io);
- return Qnil;
- }
return rb_funcall(io, rb_intern("close"), 0, 0);
}
--
Nobu Nakada