**** BEGIN LOGGING AT Mon Oct 13 03:00:00 2014 Oct 13 18:01:06 so quiet.... Oct 13 18:21:21 work to do ;) Oct 13 18:22:34 lol Oct 13 18:42:25 I love it when pass-by-reference kicks in Oct 13 18:42:29 http://jsfiddle.net/p6eshxpa/ Oct 13 18:42:40 GodGinrai, ^ observe the last hour of my life Oct 13 18:43:02 all to figure that out Oct 13 18:44:26 chall: why does the array have 2 entries? Oct 13 19:15:05 because both object share the same array Oct 13 19:15:15 it's not two objects with two arrays, it's two objects with 1 Oct 13 19:15:40 if I'd added an additional thing, we would have had 3 entries Oct 13 19:19:36 chall: so what you are saying Oct 13 19:19:49 is that the anonymous function in the enyo.inherit Oct 13 19:19:53 has its own this Oct 13 19:19:57 * Oct 13 19:19:59 this.things Oct 13 19:20:09 no Oct 13 19:20:33 I'm saying that all TestThingy's will share a things array Oct 13 19:20:39 anything you do to one of them is done to all of them Oct 13 19:20:40 But they shouldn't Oct 13 19:20:44 but it does Oct 13 19:20:57 but if this were true Oct 13 19:21:05 nothing in enyo would work correctly Oct 13 19:21:13 that's not entirely true Oct 13 19:21:35 the issue is specifically tied to arrays and plain objects Oct 13 19:22:10 it's the reason you can pass an object into a function, mutate the object in the function, and see the mutations on the outside without returning anything from the function Oct 13 19:22:34 I've used this particular side-effecting quirk a number of times Oct 13 19:22:37 it works with arrays too Oct 13 19:24:17 yes, but all of the properties in the kind definition are supposed to be mixed into the constructor Oct 13 19:24:28 so when you do "new", it should not carry over Oct 13 19:25:07 that would be true if enyo's mixin function did deep cloning Oct 13 19:25:24 ANY object or array attached to the kind definition will be copied by reference Oct 13 19:25:31 :\ Oct 13 19:25:35 I could probably write another fiddle to prove it Oct 13 19:26:30 actually, that's not entirely true Oct 13 19:26:42 there are a few cases where I'm pretty sure it's done properly Oct 13 19:26:53 :\ Oct 13 19:27:03 namely, bindings. Since I have a place in my code where I edit those in place and it seems to always work Oct 13 19:27:19 though, I always modify them the same way, so it's possible that it only works because I'm not adding to it Oct 13 19:27:42 Something needs to be done about this. This would be a horrible trap for new users Oct 13 19:28:03 also, I have no idea why I haven't run into this yet Oct 13 19:29:31 probably luck Oct 13 19:29:53 I've found it to be a really obscure area of JS Oct 13 19:29:59 for some reason Oct 13 19:30:06 I run into/use it all the time Oct 13 19:36:59 wb dmanderson Oct 13 19:37:05 ty Oct 13 19:37:24 dmanderson: http://jsfiddle.net/p6eshxpa/ Oct 13 19:37:51 ^ something needs to be done about this. This is a devious trap that could confuse new users Oct 13 19:39:36 thanks GodGinrai, i’ll pass it up to clinuz Oct 13 19:40:21 thank chall, too. He's the one who found it ;) Oct 13 19:51:16 thanks chall! Oct 13 19:52:27 hi dmanderson Oct 13 19:52:42 dmanderson, I'm around the corner in 2 weeks again Oct 13 19:53:12 oh awesome! Oct 13 19:53:40 did you had time to look at my grunt / grunt-maven examples ? Oct 13 19:54:27 the answer to this question determines whether your upcoming meeting w/ Semanticfire_2 will be a good or bad one :P Oct 13 19:56:40 well there is no obligation to look at my stuff :) Oct 13 19:57:04 it might be the difference between dmanderson or me buying a beer though ;) Oct 13 20:09:49 hahaha @ Semanticfire_2 ;-) Oct 13 20:10:17 I’ll look before you get here for sure! ;-) But I’ll also buy the brews this tiem :) Oct 13 20:10:49 does that mean you won't look at my work ? ;) Oct 13 20:11:24 HA! Oct 13 20:17:33 its a extension update of the stuff you created once Oct 13 20:36:20 dmanderson, https://github.com/semanticfire/enyo-grunt-skeleton **** ENDING LOGGING AT Tue Oct 14 02:59:59 2014