[#7043] RUBYOPT versioning? — Caleb Tennis <caleb@...>
Matz, others:
[#7050] RDoc patches for BigDecimal in Ruby CVS — mathew <meta@...>
Now that 1.8.4 is out and the initial flurry of problem reports has died
[#7055] More on VC++ 2005 — Austin Ziegler <halostatue@...>
Okay. I've got Ruby compiling. I'm attempting to get everything in
Hi,
On 05/01/06, nobuyoshi nakada <nobuyoshi.nakada@ge.com> wrote:
On 06/01/06, Austin Ziegler <halostatue@gmail.com> wrote:
Hi,
On 09/01/06, nobuyoshi nakada <nobuyoshi.nakada@ge.com> wrote:
[#7057] 64-bit Solaris READ_DATA_PENDING Revisited — Steven Lumos <steven@...>
[#7078] CRC - a proof-of-concept Ruby compiler — Anders Hkersten <chucky@...>
Hello everyone,
[#7084] mathn: ugly warnings — hadmut@... (Hadmut Danisch)
Hi,
Hadmut Danisch wrote:
Daniel Berger wrote:
*Dean Wampler *<deanwampler gmail.com> writes:
On Fri, 13 Jan 2006, mathew wrote:
On Fri, 13 Jan 2006, Mathieu Bouchard wrote:
ara.t.howard@noaa.gov wrote:
On Fri, 13 Jan 2006, James Britt wrote:
Dean Wampler <deanwampler gmail.com> writes:
On Sat, 14 Jan 2006, mathew wrote:
[#7100] core dump with ruby 1.9.0 (2006-01-10) and bdb-0.5.8 — Tanaka Akira <akr@...17n.org>
I found following test script dumps core.
>>>>> "T" == Tanaka Akira <akr@m17n.org> writes:
In article <200601110905.k0B950Op001713@moulon.inra.fr>,
[#7109] Calling flock with block? — Bertram Scharpf <lists@...>
Hi,
On Thu, 12 Jan 2006, Bertram Scharpf wrote:
[#7129] YAML.load({[]=>""}.to_yaml) — Tanaka Akira <akr@...17n.org>
I found that current YAML doesn't round trip {[]=>""}.
Hi.
Hi.
In article <20060115202203.D3624CA0.ocean@m2.ccsnet.ne.jp>,
[#7162] FileUtils.mv does not unlink source file when moving over filesystem boundary — Pav Lucistnik <pav@...>
Hi,
On Mon, 16 Jan 2006, Pav Lucistnik wrote:
[#7178] Add XHTML 1.0 Output Support to Ruby CGI — Paul Duncan <pabs@...>
The attached patch against Ruby 1.8.4 adds XHTML 1.0 output support to
[#7186] Ruby 1.9 and FHS — "Kirill A. Shutemov" <k.shutemov@...>
Build and install system changes:
[#7195] trouble due ruby redefining posix function eaccess — noreply@...
Bugs item #3317, was opened at 2006-01-24 15:33
[#7197] SSL-enabled DRb fds on SSLError? — ctm@... (Clifford T. Matthews)
Howdy,
On Jan 24, 2006, at 12:46 PM, Clifford T. Matthews wrote:
Patch worked fine against HEAD.
[#7203] bcc32's memory manager bug — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Hi.
[#7211] Some troubles with an embedded ruby interpreter — Matt Mower <matt.mower@...>
Hi folks,
[#7216] String#scan loops forefever if scanned string is modified inside block. — noreply@...
Bugs item #3329, was opened at 2006-01-26 10:55
[#7226] Fwd: Re: Question about massive API changes — "Sean E. Russell" <ser@...>
Hello,
Sean E. Russell wrote:
>
On 1/28/06, Caleb Tennis <caleb@aei-tech.com> wrote:
On Saturday 28 January 2006 17:13, Wilson Bilkovich wrote:
Sean E. Russell wrote:
[#7249] PATCH: append option to sysread — Yohanes Santoso <ysantoso-rubycore@...>
[#7259] TCP/UDP server weird lags on 1.8.4 linux — "Bill Kelly" <billk@...>
Hi !
Re: YAML.load({[]=>""}.to_yaml)
Hi.
>>I found that current YAML doesn't round trip {[]=>""}.
>>
>>% ./ruby -v -ryaml -e 'p YAML.load({[]=>""}.to_yaml)'
>>ruby 1.9.0 (2006-01-10) [i686-linux]
>>/home/akr/ruby/lib/ruby/1.9/yaml.rb:133:in `load': syntax error on line 2, col 1: `: ""' (ArgumentError)
>> from /home/akr/ruby/lib/ruby/1.9/yaml.rb:133:in `load'
>> from -e:1
>>
>>ruby-1.8.2 works well.
>>
>>% ruby-1.8.2 -v -ryaml -e 'p YAML.load({[]=>""}.to_yaml)'
>>ruby 1.8.2 (2004-12-25) [i686-linux]
>>{[]=>""}
>>--
>>Tanaka Akira
>
>
>E:\>ruby -v -ryaml -e "puts YAML.dump({[]=>''})"
>ruby 1.8.4 (2005-12-24) [i386-bccwin32]
>---
>[]
>: ""
>
>
>This YAML cannot be loaded. But
>
>---
>? []
>: ""
>
>can be loaded. (I don't know how to fix it... tell the syck [] is complex key?)
How about this? Function name is a bit long though.
Index: emitter.c
===================================================================
RCS file: /src/ruby/ext/syck/emitter.c,v
retrieving revision 1.14
diff -u -w -b -p -r1.14 emitter.c
--- emitter.c 20 Sep 2005 06:50:19 -0000 1.14
+++ emitter.c 15 Jan 2006 11:13:58 -0000
@@ -992,6 +992,17 @@ void syck_emit_folded( SyckEmitter *e, i
}
/*
+ * Emit complex key mark if neccessaly.
+ */
+static void syck_emit_complex_key_mark_if_needed( SyckEmitter *e, SyckLevel *parent )
+{
+ if ( parent->status == syck_lvl_map && parent->ncount % 2 == 1 ) {
+ syck_emitter_write( e, "? ", 2 );
+ parent->status = syck_lvl_mapx;
+ }
+}
+
+/*
* Begins emission of a sequence.
*/
void syck_emit_seq( SyckEmitter *e, char *tag, enum seq_style style )
@@ -1003,6 +1014,7 @@ void syck_emit_seq( SyckEmitter *e, char
syck_emitter_write( e, "[", 1 );
lvl->status = syck_lvl_iseq;
} else {
+ syck_emit_complex_key_mark_if_needed( e, parent );
lvl->status = syck_lvl_seq;
}
}
@@ -1019,6 +1031,7 @@ void syck_emit_map( SyckEmitter *e, char
syck_emitter_write( e, "{", 1 );
lvl->status = syck_lvl_imap;
} else {
+ syck_emit_complex_key_mark_if_needed( e, parent );
lvl->status = syck_lvl_map;
}
}
@@ -1036,19 +1049,12 @@ void syck_emit_item( SyckEmitter *e, st_
{
SyckLevel *parent = syck_emitter_parent_level( e );
- /* seq-in-map shortcut */
- if ( parent->status == syck_lvl_map && lvl->ncount == 0 ) {
- /* complex key */
- if ( parent->ncount % 2 == 1 ) {
- syck_emitter_write( e, "?", 1 );
- parent->status = syck_lvl_mapx;
- /* shortcut -- the lvl->anctag check should be unneccesary but
+ /* seq-in-map shortcut -- the lvl->anctag check should be unneccesary but
* there is a nasty shift/reduce in the parser on this point and
* i'm not ready to tickle it. */
- } else if ( lvl->anctag == 0 ) {
+ if ( lvl->anctag == 0 && parent->status == syck_lvl_map && lvl->ncount == 0 ) {
lvl->spaces = parent->spaces;
}
- }
/* seq-in-seq shortcut */
else if ( lvl->anctag == 0 && parent->status == syck_lvl_seq && lvl->ncount == 0 ) {
@@ -1080,15 +1086,6 @@ void syck_emit_item( SyckEmitter *e, st_
{
SyckLevel *parent = syck_emitter_parent_level( e );
- /* map-in-map */
- if ( parent->status == syck_lvl_map && lvl->ncount == 0 ) {
- /* complex key */
- if ( parent->ncount % 2 == 1 ) {
- syck_emitter_write( e, "?", 1 );
- parent->status = syck_lvl_mapx;
- }
- }
-
/* map-in-seq shortcut */
if ( lvl->anctag == 0 && parent->status == syck_lvl_seq && lvl->ncount == 0 ) {
int spcs = ( lvl->spaces - parent->spaces ) - 2;