On Feb 26, 2006, at 7:45 AM, Yukihiro Matsumoto wrote: > Since all symbol values have their second LSB set, they should not > conflict with ordinary object values on an aligned memory allocator. > At least on Linux system, the problem was caused by signedness issue > of the symbol conversion. I'd like to know if the following patch, > that worked on Linux system, also work on MacOS X. > > --- ruby.h 5 Feb 2006 15:43:10 -0000 1.97.2.11 > +++ ruby.h 26 Feb 2006 15:43:22 -0000 > @@ -169,3 +169,3 @@ VALUE rb_ull2inum _((unsigned LONG_LONG) > #define ID2SYM(x) ((VALUE)(((long)(x))<<8|SYMBOL_FLAG)) > -#define SYM2ID(x) RSHIFT((long)x,8) > +#define SYM2ID(x) RSHIFT((unsigned long)x,8) Doesn't fix on OSX. I think Akira's email summarizes what we are seeing perfectly. --- _why: zenspider's most intense moments of solice are immediately following the slaughter [...] bricolage: he pasted it into #ruby-lang and said "What's wrong with this regex?" it makes my eyes bleed _why: that topknot's the only thing keeping a lid on the righteous anger bricolage: yeah, that and his flagrant obsession with dvorak