Index

Show enters and exits. Hide enters and exits.

00:02:20brixenshould be pretty easy to write a shared one for #pos= and #seek(off) since whence defaults to SEEK_SET
00:11:30evank
00:11:33evanlet me get these passing
00:11:37evanthen we'll explore that.
00:11:40brixensure
00:43:06boyscoutCleanup IO#ungetc spec - 1efeb0a - Evan Phoenix
00:43:06boyscoutCleanup IO#pos=, IO#pos, and IO#seek specs - f1ba38e - Evan Phoenix
00:43:06boyscoutFix a whole bunch of IO failures, implement IO#ungetc - d15ff22 - Evan Phoenix
00:43:39evanbrixen: i pulled the seek stuff into a shared spec
00:47:36brixencool
01:03:01boyscoutCI: Commit d15ff22 failed. http://github.com/evanphx/rubinius/commit/d15ff22de3c147a0f39a7f819a17dd78801856d4
01:05:29brixenhmm, how does one see the CI output now?
01:06:56evanon ci.rubini.us
01:07:30evanhrm
01:07:34evanthats a 64/32 bit problem
01:08:10brixenhm
01:08:21evanhm.
01:09:04evanoh, I untagged these
01:09:10evani'll bet they didn't run before anyways
01:09:19evanno prob
01:09:36evanthis is because off_t is 64bits on 64bit platforms
01:10:14evanthese are all on the boundary
01:10:19evani'm going to just eliminate them
01:10:26evanthe specs in question aren't boundary testing anyway
01:10:45brixenhm
01:11:07brixenwhy are these not guarded for 32/64bit?
01:11:29evanbecause the author wasn't thinking about that.
01:11:34evanand they were tagged
01:11:41evanbut the specs aren't testing boundaries anyway
01:11:47evanso i'm removing these offending ones
01:11:54evanthere is one boundary test in here
01:11:59evanthat uses 2 ** 128
01:12:03evanso it works everywhere
01:12:07brixenI don't know what you mean by testing boundaries
01:12:09brixenIO#pos= does not accept Bignums that don't fit in a C long
01:12:12brixenwhat is that testing?
01:12:26evanthats just testing that you can't pass a very large Bignum into seek
01:12:30evanit uses 2 ** 128
01:12:40evanit's not guarded for 32 vs 64
01:12:55evanso it uses a value that will cause the spec to work on both
01:13:08brixenif there is going to be such a spec, it should test both sides of the boundary
01:13:16evannone of these specs are trying to find the act number where a Bignum can't be a long anymore
01:13:20evanright
01:13:23evanit's missing that
01:13:26evanwe should add that
01:13:30evanbut i'm going to fix the failing ones
01:13:34brixenok
01:13:38evanbecause they're not actually trying to test the boundary
01:13:47evanbut they did accidentally
01:16:24boyscoutRemove errant boundary use, use mock for real test - f6a642d - Evan Phoenix
01:31:47boyscoutCI: Commit f6a642d failed. http://github.com/evanphx/rubinius/commit/f6a642d8ce4c051a74d0ace596c0328c0b707921
01:34:07evanhrm
01:34:44evanoops.
01:37:39boyscoutRemove boundary case - 98ef03a - Evan Phoenix
01:41:34boyscoutCI: rubinius: 98ef03a successful: 3024 files, 11813 examples, 36125 expectations, 0 failures, 0 errors
01:41:41evanbingo.
01:46:20brixensweet
01:54:40evanok
01:54:42evani think the time has come.
01:54:47evanfrozen needs to be supported.
01:55:27kronos_vanowow
01:55:33brixenok
01:57:06evani'm adding a check_frozen instruction
01:57:14evanand i'm going to wire it up to Ruby.check_frozen
01:58:19brixennot too intrusive
01:58:33brixenalmost just like tagging mutator methods
01:58:59evanright
01:59:10brixensuppose the jit would collapse redundant ones on inlining
01:59:16brixensince once frozen, always frozen
02:00:02evansure
02:02:58rueYou know, technically we should be able to benefit from frozen objects
02:04:23rueThough it does not really affect method lookup which is where the biggest gains would be
08:00:06dbussinkevan: still there?
08:00:13evanyep
08:00:34dbussinkevan: on your question why i'd need that method, it's because i'd want to chop some chars of a string from pack
08:00:46evanwhy not just @num_bytes -= count
08:00:46dbussinkevan: http://github.com/evanphx/rubinius/issues#issue/173
08:00:56dbussinkevan: because i have a string object and i'm not in string
08:01:22evanwhy are you chopping a string you aren't in?
08:01:32dbussinkevan: http://github.com/evanphx/rubinius/blob/master/kernel/common/pack.rb#L38
08:02:00dbussinkevan: that's actually really slow, making the string shorter there increases performance by a pretty big factor
08:02:20evani'd prefer you throw all that code away
08:02:23evanand redo it entirely.
08:02:43evanbut i see what you mean
08:02:46dbussinkevan: what would be the preferred approach then?
08:02:52evanactualy X is pretty short
08:03:11evansure, add a method
08:03:17evanit's not really a helper method.
08:03:22evanit's a straight up mutator.
08:03:29dbussinkevan: on the string you mean?
08:03:34evanyes.
08:03:52dbussinkevan: any suggestion for it's naming?
08:04:02dbussinksince i haven't really been able to think of a good one
08:04:15dbussinkchop! already exists and has different semantics
08:04:31evanshorten!
08:04:38dbussinkah, that's a good one yeah :)
08:12:43rue#truncate
08:13:07rueShortening implies some intelligible result, I think.
08:28:18dbussinkrue: let's start bikeshedding on this ;)
08:31:38dbussinkevan: any luck with those datamapper spec issues or leaving them for now?
10:02:47hedge-hog#rvm is a little quite now so thought I'd ask this here too.... when installing rbx-1.0.0-head, without 1.8.7 installed, the rbx install errors out, error is in ~/.rvm/log/rbx-1.0.0-head/rake.error.log... I'm uncertain which project would want to see what went wrong... is this an rbx issue or should I raise it with rvm group?
10:45:41ruePastie it over on #rvm, I will take a look at it when I come back from errands unless someone makes it first
10:48:09dbussinkhedge-hog: you need an 1.8 version before you can install rbx
10:50:24hedge-hogdbussink: I see that ruby-1.8.7p278 gets installed before hand without errors it seems. The rake error log seems to indicate a gcc error, but I'm not sure which group is interested in the error :)
10:51:12hedge-hogrue: thanks will do.
10:57:56hedge-hogs/ruby-1.8.7p278/ruby-1.8.7p248/
11:17:11mccvmimxeuhVERSION Learn more at http://free.sweettits.net/
11:17:11mccvmimxeuhVERSION Learn more at http://free.sweettits.net/
11:17:11mccvmimxeuhVERSION Learn more at http://free.sweettits.net/
11:22:08gduxuVERSION Learn more at http://free.sweettits.net/
11:22:08gduxuVERSION Learn more at http://free.sweettits.net/
11:22:08gduxuVERSION Learn more at http://free.sweettits.net/
11:22:09gduxuVERSION Learn more at http://free.sweettits.net/
11:22:11gduxuVERSION Learn more at http://free.sweettits.net/
11:22:13gduxuVERSION Learn more at http://free.sweettits.net/
11:22:15gduxuVERSION Learn more at http://free.sweettits.net/
11:22:17gduxuVERSION Learn more at http://free.sweettits.net/
11:22:19gduxuVERSION Learn more at http://free.sweettits.net/
11:22:21gduxuVERSION Learn more at http://free.sweettits.net/
11:22:23gduxuVERSION Learn more at http://free.sweettits.net/
11:22:25gduxuVERSION Learn more at http://free.sweettits.net/
11:22:27gduxuVERSION Learn more at http://free.sweettits.net/
11:22:29gduxuVERSION Learn more at http://free.sweettits.net/
11:22:31gduxuVERSION Learn more at http://free.sweettits.net/
11:22:33gduxuVERSION Learn more at http://free.sweettits.net/
11:22:35gduxuVERSION Learn more at http://free.sweettits.net/
11:22:37gduxuVERSION Learn more at http://free.sweettits.net/
11:22:39gduxuVERSION Learn more at http://free.sweettits.net/
11:22:41gduxuVERSION Learn more at http://free.sweettits.net/
11:22:43gduxuVERSION Learn more at http://free.sweettits.net/
11:22:45gduxuVERSION Learn more at http://free.sweettits.net/
11:22:47gduxuVERSION Learn more at http://free.sweettits.net/
11:22:49gduxuVERSION Learn more at http://free.sweettits.net/
11:22:51gduxuVERSION Learn more at http://free.sweettits.net/
11:22:53gduxuVERSION Learn more at http://free.sweettits.net/
11:22:55gduxuVERSION Learn more at http://free.sweettits.net/
11:22:57gduxuVERSION Learn more at http://free.sweettits.net/
11:22:59gduxuVERSION Learn more at http://free.sweettits.net/
11:23:01gduxuVERSION Learn more at http://free.sweettits.net/
11:23:03gduxuVERSION Learn more at http://free.sweettits.net/
11:23:05gduxuVERSION Learn more at http://free.sweettits.net/
11:23:07gduxuVERSION Learn more at http://free.sweettits.net/
11:23:09gduxuVERSION Learn more at http://free.sweettits.net/
11:23:11gduxuVERSION Learn more at http://free.sweettits.net/
11:23:13gduxuVERSION Learn more at http://free.sweettits.net/
11:23:15gduxuVERSION Learn more at http://free.sweettits.net/
11:23:17gduxuVERSION Learn more at http://free.sweettits.net/
11:23:19gduxuVERSION Learn more at http://free.sweettits.net/
11:23:21gduxuVERSION Learn more at http://free.sweettits.net/
11:23:23gduxuVERSION Learn more at http://free.sweettits.net/
11:23:25gduxuVERSION Learn more at http://free.sweettits.net/
17:11:22brixenmorning
17:11:30evanmorning!
17:18:05evanwell, i removed almost all of the String fails tags now
17:18:11evanby adding freeze check support.
17:18:26evanand, yay, we had already refactored stuff into modify!
17:18:31evanso i can just do the freeze check there.
17:18:37evanand get 95% of the methods
17:20:54brixensweet!
17:27:47boyscoutMove Frozen and Tainted to the header, add Ruby.check_frozen - 8a51d5b - Evan Phoenix
17:28:09evanI didn't fix all the frozen check failures
17:28:22evanbut you just need to put "Ruby.check_frozen" into a method where self should be checked
17:28:40evanthere is another mode where you can pass in one argument and that object will be checked for frozeness
17:29:18evanbut the vast, vast majority of cases check self, so thats what the argless version does.
17:29:44evanbrixen: could you look at line 508 of string/gsub_spec.rb
17:29:44evan?
17:33:17brixensec..
17:37:44boyscoutCI: rubinius: 8a51d5b successful: 3024 files, 11837 examples, 36173 expectations, 0 failures, 0 errors
17:37:51evansweeet.
17:39:13brixenok, read thread on that ruby_bug
17:39:26brixenevan: what's the question?
17:39:35evanoh
17:39:37evanack
17:39:37evansorry
17:39:47evani just wanted you to see that one
17:39:50evanit's running on rubinius
17:39:57evaneven though i'm assuming it's 1.9 only
17:40:13brixenno, it needs a ruby_version_is if it's 1.9 only
17:40:29brixenruby_bug is a no-op period unless the impl is mri
17:41:03evank, one sec.
17:41:05evanlet me double check...
17:41:09brixensee eg 466
17:41:21evanit seems to be running
17:41:37evanbin/mspec spec/ruby/core/string/gsub_spec.rb
17:41:41brixenit?
17:41:43evanoh wait.
17:41:47evanwhy are the line numbers wrong...
17:41:55evanhold on.
17:42:07evansomething is up...
17:42:15evanbecause it does run line 513
17:42:30evanbut under the spec for "with pattern and block raises a RuntimeError when self is frozen"
17:42:37evanoh wait
17:42:39evanno, thats the one
17:42:41evanyeah, it's running.
17:43:10evanso, ruby_bug should or shouldn't not run on rubinius?
17:43:31brixenanything that is guarded by ruby_bug should run in any impl that is not MRI
17:43:41evanooh
17:43:44brixenthose ruby_bug guards should also not be there
17:43:49brixensince we are not guarding 1.9 bugs
17:43:51evanwhen you said no-op guard
17:43:56evani figured you meant that it was always false then.
17:44:00evanbut you mean it's always true
17:44:04brixenyes
17:44:08evanmy mistake
17:44:09evanok
17:44:19evanso this needs a ruby_version_is around it
17:44:26evani see there is a 2nd argument to ruby_bug
17:44:30evanthat says "1.9"
17:44:33evanshould that be doing anything?
17:44:39brixenright, that's purely for MRI
17:44:45brixenruby_bug is for MRI
17:44:47brixenonly
17:44:48brixenever
17:44:50brixen:)
17:45:12brixenthe spec inside ruby_bug should run on any impl not MRI unless otherwise guarded with something else
17:45:14evanok, so if the 2nd argument is "1.9" to ruby_bug
17:45:20evanit better be wrapped in a ruby_version_is as well
17:45:29brixennot necessarily no
17:45:35brixenthe two are totally separate
17:45:46evanwhat does the 2nd argument to ruby_bug mean?
17:45:52brixenthe version to ruby_bug is for the MRI version that the bug was fixed in
17:46:04brixenit's guarded for anything less than the version
17:46:16brixenit's not necessarily a 1.9 specific behavior
17:46:27evanhm ok
17:46:30brixenit could be a bug that was finally discovered/fixed in 1.9
17:46:59phlebas-notebookhi. i've heard about the great debugger that comes in rubinius, but have no idea how to start it. Rubinius::VM::debugger doesn't seem to work
17:47:36brixenevan: headed to a coffee shop, bbiab...
17:47:43evank
17:47:50evanphlebas-notebook: it's been broken for a while
17:48:02evanphlebas-notebook: not sure who has been talking it up to you
17:48:13phlebas-notebookoh, shame
17:48:33evanwho told you that?
17:48:47khaase*duck*
17:49:07phlebas-notebookyeah...
17:50:05khaasehmmm... but is there not so not-that-awesome-but-still-you-can-debug-ish solution?
17:50:16khaases/so/a
17:50:49evandebug at the ruby layer?
17:50:54khaaseyeah
17:51:45evanyou can try --debug
17:51:50evanbin/rbx --debug thing.rb
17:51:53evanthats worked on and off
17:52:03evanusing the debugger we have.
17:58:35khaaseright, thanks evan.
17:58:51evanpatches to fix the debugger are always welcome.
18:08:01boyscoutAdd a proper guard, expand the 1.8 case - 0f5700f - Evan Phoenix
18:11:59boyscoutCI: rubinius: 0f5700f successful: 3024 files, 11838 examples, 36175 expectations, 0 failures, 0 errors
18:32:56vvfiVERSION Learn more at http://free.sweettits.net/
18:32:56vvfiVERSION Learn more at http://free.sweettits.net/
18:32:56vvfiVERSION Learn more at http://free.sweettits.net/
18:32:57vvfiVERSION Learn more at http://free.sweettits.net/
18:32:59vvfiVERSION Learn more at http://free.sweettits.net/
18:33:01vvfiVERSION Learn more at http://free.sweettits.net/
18:33:03vvfiVERSION Learn more at http://free.sweettits.net/
18:33:26ubtbzfbybreVERSION Learn more at http://free.sweettits.net/
18:33:26ubtbzfbybreVERSION Learn more at http://free.sweettits.net/
18:33:26ubtbzfbybreVERSION Learn more at http://free.sweettits.net/
18:57:01dbussinkhmm the logger actually logs the spam: http://donttreadonme.co.uk/rubinius-irc/rubinius.log.html
18:59:06brixenspam is ham to loggers
18:59:09brixenor something :)
18:59:16evanwhat spam?
18:59:21evanthere was spam?
18:59:27brixenin channel, yes
18:59:32evanweird, i didn't get it.
18:59:37evani see the user connect and disconnect
18:59:40evanbut nothing inbetween.
18:59:45dbussinkevan: it are ctcp messages
18:59:47brixenhmm
18:59:47dbussinki've disabled them
18:59:48brixenyeah
18:59:55evanoooh
18:59:56evanctcp
19:00:07dbussinkbecause i was disconnecting too because of those spam messages
19:00:11dbussinkjust ignoring works better :p
19:00:22evanbrixen: so, i've decided to try and implement your each_object stategy
19:00:24evanstrategy.
19:00:29brixenahh ok
19:00:55evanmost of the code is going to be the code for actually walking all the objects
19:01:10evansince thats a bit more complicated than MRI.
19:01:26boyscoutImprove performance of Array#pack's X, see ticket #173 - b19d56d - Dirkjan Bussink
19:02:15brixenevan: I thought you could hijack the transitive closure code maybe
19:02:34brixenalthough, hmm...
19:02:48brixenyou'd see newly created objects then
19:02:59evanthats actually ok
19:03:01evani could do that
19:03:08evanhm.
19:04:30evanthe problem with the transitive closure code is it requires using the mark bit
19:04:36evanso you don't retrace graph branches.
19:05:24boyscoutCI: rubinius: b19d56d successful: 3024 files, 11838 examples, 36175 expectations, 0 failures, 0 errors
19:05:43brixenhm
19:06:37brixenwell, what about piggy backing the each_object on a normal GC cycle?
19:06:52brixenok, we don't have concurrent GC
19:06:55evani'd considered that
19:06:55brixennvm heh
19:07:07evanwell, i can reuse the mark bit
19:07:12evanand actually, I think you're right
19:07:16evani think thats the way to go
19:07:23evani'm not sure i can even iterate over immix
19:07:36evanit's not designed for that
19:07:40brixenyeah
19:07:46evanbecause it doesn't track where in a line an object starts
19:07:59evanok!
19:08:03evanwell, i've wanted to do this anyway
19:08:08brixenfun!
19:08:36evani'll just pull out the transative closure code from immix into a seperate iterator class
19:09:00evanwe can use it for _id2ref too
19:09:12brixencool
19:09:12evanby just searching the entire object graph
19:09:37evanI actually want to build a small query language
19:09:46evanthat _id2ref would be built on
19:10:13brixenheh that'd be slick
19:10:13evanObjcectSpace.query [:find_one, [:object_id, 342]]
19:10:16brixenyeah
19:10:37brixenvery cool
19:11:00evanObjcectSpace.query [:find_all, [:ivar, :@name, "Evan"]]
19:11:05brixenmy first dabbling with yacc was an sql syntax to query a CAD program's file format for objects
19:11:08brixenfun stuff
19:11:21evana stringified syntax comes last
19:11:23evan:)
19:11:38brixenheh
19:37:23khaaseSELECT map { |f| f.camel_case } FROM Enumerable WHERE all? { |e| e.is_a? String }
19:40:15evanheh
19:49:03jvoorhisslava: seen this yet? http://denkspuren.blogspot.com/2010/01/factor-heilbronn-university.html
20:05:53brixenman #require you kill me
20:06:21evan:(
20:06:28brixenwriting the rbx-specific require specs is dicey because we can't put .rbc fixtures in the repo
20:06:35brixenbecause of the compiler signature
20:06:44brixenwhich is fine, I've got a clean scheme working
20:07:15brixenbut why oh why is requiring a .rbc directly behaving differently re $LOADED_FEATURES from requiring a .rb
20:07:26evan:(
20:07:27brixenanyway...
20:07:27evanyou know
20:07:42evanwe have never used being able to explicitly require a .rbc
20:07:47evanif you wanna tear it out
20:07:51evanfeel free to.
20:08:22brixenwell, it's fine as far as a feature goes
20:08:31brixenbut it should work exactly like requiring a .rb
20:08:32evanHOT DOG
20:08:36brixenin terms of $L_F
20:08:48evanhttp://gist.github.com/289092
20:08:49brixenand the fact that it doesn't was masked by these existing specs
20:08:54evanoutputs
20:08:55evan[#<IO:0x1e>, #<IO:0x20>, #<IO:0x22>]
20:09:02brixenawesome
20:09:05brixenrockin!
20:09:19evani made the primitive just append them to an array if you pass one in
20:09:25evanotherwise it sends #call
20:09:27evangoing to test that now
20:09:53evanhey! that works too!
20:09:54evanyay
21:49:09brixenfinds foods
21:49:19evangoing to find or found?
22:04:37hedge-hogAm I right that ~/.rvm/rubies/* is where you'd expect to find ruby installations pre rvm version 0.1?
22:04:49evani'll have to ask in #rvm
22:05:04hedge-hogblush, wrong tab
22:05:24evanno prob.
22:31:34maharghm
22:33:54mahargrubinius seems to handle {raise exception_instance, "some descriptive text"} (where eg exception_instance might actually be MyError.new(1)) differently from MRI. It seems to make a new exception object except passing the second arg to raise to the constructor, where MRI raises the object you pass it and tacks the description on
22:38:36evanjust a bug then.
22:38:57evanlets see...
22:39:36evanif there are 2 arguments, MRI calls .exception on 1st argument passing the 2nd
22:39:59evanwhich it appears we do.
22:40:31evanand Exception#exception clones self
22:40:47evanand calls some internal initialize
22:41:00evanah, thats normal initialize
22:41:07evanso seems the same to me
22:43:13evanmaharg: could you show me the behavior you're seeing in ruby code?
22:43:28mahargI'm writing a spec, will have a patch in a sec
22:49:54maharghttp://friendpaste.com/6p6ou6TLu41KriuWAMl3QF
22:50:03mahargworks on MRI, not on rbx
22:50:20evanyeah
22:50:24evanthats because MRI sucks.
22:50:32evanit's not calling #initialize like normally
22:50:43evanit's staticly calling Exception#initialize
22:50:50evanby calling the C function for it.
22:50:51evan:/
22:52:07maharghah
22:52:30evanthe fact that this has allowed people to write invalid #initialize methods on Exception subclasses blows.
22:52:42evanthere is an easy fix though.
22:53:21evanalias Exception#initialize to __initialize__
22:53:30evanand then call __initialize__ from Exception#exception
23:04:58brixenevan: find, found, and consumed
23:05:06brixengreasy breakfast for lunch, yum
23:05:07evanDefiler taunted me
23:05:18evanand I ended up building a full on object query system.
23:05:28brixenheh
23:05:32evanObjectSpace.find_object([:and, [:kind_of, Blah], [:ivar, :@name]], ary)
23:06:22brixendoes :kind_of dispatch to kind_of? or is that just query syntax?
23:06:34evanthats query syntax
23:06:40evanit uses Object::kind_of() in C++
23:06:44brixenok
23:06:52evanary can be something that responds to call
23:06:59evanand if so, it's sent on every object
23:07:02brixenI thought you'd hooked up arbitrary method sends
23:07:18brixenoh, with ary
23:07:27evanyou'd do that in the block
23:07:34brixencool
23:07:37evanactually
23:07:44evansince this is running with the GC inhibited
23:07:47evani could probably call a method
23:08:05evanperhaps
23:08:17evanObjectSpace.find_object([:call, obj])
23:08:25evanobj is just expected to respond to #call
23:08:48evanand if #call comes back true, the object passed in is used
23:09:33brixenhm
23:11:07evanboyya
23:11:10evanadded :or
23:11:15brixenheh
23:11:56evanso
23:12:01evanwe got _id2ref for free
23:12:18evanthere are 6 conditions now
23:12:30evanand, or, kind_of, ivar, method, and object_id
23:12:42evan_id2ref is just
23:12:53evanObjectSpace.find_object([:object_id, id])
23:15:26brixenheh, sweet
23:16:03evannot as fast as MRI
23:16:05evanbut oh well.
23:16:37brixenyeah, this is not intended for tight loops or per request processing
23:16:46brixendespite that some bonehead will surely use it so
23:18:23evanprobably
23:18:24evanoh well.
23:19:42brixenoffering the functionality is awesome
23:21:07evanyeah, totally.
23:22:14matthewdHeh... just did an idle-curiousity google code search for _id2ref... weakref.rb, weakref.rb, gc.c, gc.c, my code... crap. :P
23:22:43brixenmatthewd: busted! heh
23:22:52evanmatthewd: you should not be using it in your own code probably.
23:24:06matthewdSeemed like a good idea at the time? :)
23:25:05matthewdI think in Johnson, we just cast between void* and VALUE... which is not necessarily better ;)
23:25:18evanha yeah
23:25:23evanalso not a good idea.
23:33:14brixenheh, great
23:33:27brixenloading .rbc's from a .rba appears to be quite broken atm
23:33:34brixendespite having a passing spec
23:33:38evanyeah
23:33:46evanwe really still have not used that
23:33:48brixenthat is likely only passing because the .rb file still existed
23:33:54evani suggest we pull it out entirely
23:33:57brixenwe used to use it
23:33:59evanand add it back in later
23:34:00brixenreally?
23:34:11brixenyeah
23:34:18brixenI'd not want to completely ditch it
23:34:27brixenI'm just trying to get these specs ironed out
23:34:31evank
23:34:36brixenand love rewriting a passing spec and have it fail
23:34:43brixenso I'm like "what did I do"
23:34:49brixenoh, I wrote the spec correctly
23:34:51brixenugh
23:35:01evanhehe
23:36:53mahargevan: implemented that 'fix' as suggested. It's in a branch on my github: http://github.com/stormbrew/rubinius/tree/fix-raise-behaviour, not sure if there's a more preferred way to get it included. The github issue tracker seems flakey and doesn't support attachments that I can see.
23:36:53evanusing the mark bit appears to be causing some kind of GC confusion
23:36:56evani'm hunting it down now.
23:36:59brixenahh I see, CompiledFile.load really expects an IO
23:37:21evanmaharg: the prefered way is to use git format-patch
23:37:24evanopen an issue
23:37:30evanand put a link to the gist with the patch in it.
23:38:16evanmaharg: you're fix is wrong
23:38:20evanyou need to clone the object
23:38:24evanand send the clone __initialize__
23:39:04mahargah ok
23:46:20mahargis it preferred to have the change to the specs in the same change as the fix?
23:46:46evanNO
23:46:48evando NOT do that.
23:46:51mahargdidn't think so
23:47:28evanit's too hard to sync the specs upstream with rubyspec if you do that.
23:49:25maharglook better now? Same branch link as above
23:50:20evanyeah, that passes right?
23:50:26mahargyep
23:50:35evani might have thought __initialize__ would be private unless you explicitley change that.
23:50:36evanok
23:56:36mahargissue created
23:56:58evank