Removing Array.prototype.values
Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at esdiscuss/2013-June/031390 for example, and I'm pretty sure it's been discussed since as well...
On 11/11/13 2:47 PM, Oliver Hunt wrote: > Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. > > So, it seems that we’ll need to remove .values from the Array prototype. Oliver, Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... -Boris
Right—this is why we have @@unscopeables.
On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > On 11/11/13 2:47 PM, Oliver Hunt wrote: > >> Alas in addition to assuming that the Arguments object does not have the >> Array prototype, ExtJS also relies on the Array prototype not containing a >> property named values. >> >> So, it seems that we’ll need to remove .values from the Array prototype. >> > > Oliver, > > Just to check, have you read the existing threads on the topic and on > possible proposed solutions? Starting at https://mail.mozilla.org/ > pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty > sure it's been discussed since as well... > > Right—this is why we have @@unscopeables. Rick -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/d3cca136/attachment.html>
Apparently i missed that thread entirely
Something i pondered before just removing .values () (that SM has already done) was essentially adding yet another property mode, essentially “ignore in |with|”. It’s technically fairly heavyweight, but it would resolve the general problem of libraries using with(), despite the years of being told not to.
Apparently i missed that thread entirely Something i pondered before just removing .values () (that SM has already done) was essentially adding yet another property mode, essentially “ignore in |with|”. It’s technically fairly heavyweight, but it would resolve the general problem of libraries using with(), despite the years of being told not to. —Oliver On Nov 11, 2013, at 11:59 AM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > On 11/11/13 2:47 PM, Oliver Hunt wrote: >> Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. >> >> So, it seems that we’ll need to remove .values from the Array prototype. > > Oliver, > > Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... > > -Boris > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss
I thought @@unscopeables were (essentially) Symbols, have i been confused? Are we overloading @@ to mean different things?
I thought @@unscopeables were (essentially) Symbols, have i been confused? Are we overloading @@ to mean different things? —Oliver On Nov 11, 2013, at 12:01 PM, Rick Waldron <waldron.rick at gmail.com> wrote: > > > > On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > On 11/11/13 2:47 PM, Oliver Hunt wrote: > Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. > > So, it seems that we’ll need to remove .values from the Array prototype. > > Oliver, > > Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... > > > Right—this is why we have @@unscopeables. > > > Rick > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/e0a28277/attachment.html>
Right, but the revised spec. for @@unscopables isn't in the Rev21 draft.
See ecmascript#1908 for the changes that will be in Rev22.
Right, but the revised spec. for @@unscopables isn't in the Rev21 draft. See https://bugs.ecmascript.org/show_bug.cgi?id=1908 for the changes that will be in Rev22. Allen On Nov 11, 2013, at 12:01 PM, Rick Waldron wrote: > > > > On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > On 11/11/13 2:47 PM, Oliver Hunt wrote: > Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. > > So, it seems that we’ll need to remove .values from the Array prototype. > > Oliver, > > Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... > > > Right—this is why we have @@unscopeables. > > > Rick > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/dcd170c9/attachment.html>
@@unscopable is the Symbol that is the property key that is used access the set of with-adverse properties for an object.
@@unscopable is the Symbol that is the property key that is used access the set of with-adverse properties for an object. On Nov 11, 2013, at 12:07 PM, Oliver Hunt wrote: > I thought @@unscopeables were (essentially) Symbols, have i been confused? Are we overloading @@ to mean different things? > > —Oliver > > On Nov 11, 2013, at 12:01 PM, Rick Waldron <waldron.rick at gmail.com> wrote: > >> >> >> >> On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: >> On 11/11/13 2:47 PM, Oliver Hunt wrote: >> Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. >> >> So, it seems that we’ll need to remove .values from the Array prototype. >> >> Oliver, >> >> Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... >> >> >> Right—this is why we have @@unscopeables. >> >> >> Rick >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss at mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/8e5ec021/attachment-0001.html>
On Mon, Nov 11, 2013 at 3:06 PM, Oliver Hunt <oliver at apple.com> wrote:
Apparently i missed that thread entirely
Something i pondered before just removing .values () (that SM has already done) was essentially adding yet another property mode, essentially “ignore in |with|”.
That's essentially @@unscopables (apologies for previously misspelling)
On Mon, Nov 11, 2013 at 3:06 PM, Oliver Hunt <oliver at apple.com> wrote: > Apparently i missed that thread entirely > > Something i pondered before just removing .values () (that SM has already > done) was essentially adding yet another property mode, essentially “ignore > in |with|”. That's essentially @@unscopables (apologies for previously misspelling) Rick > It’s technically fairly heavyweight, but it would resolve the general > problem of libraries using with(), despite the years of being told not to. > > —Oliver > > On Nov 11, 2013, at 11:59 AM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > > > On 11/11/13 2:47 PM, Oliver Hunt wrote: > >> Alas in addition to assuming that the Arguments object does not have > the Array prototype, ExtJS also relies on the Array prototype not > containing a property named values. > >> > >> So, it seems that we’ll need to remove .values from the Array prototype. > > > > Oliver, > > > > Just to check, have you read the existing threads on the topic and on > possible proposed solutions? Starting at > https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for > example, and I'm pretty sure it's been discussed since as well... > > > > -Boris > > _______________________________________________ > > es-discuss mailing list > > es-discuss at mozilla.org > > https://mail.mozilla.org/listinfo/es-discuss > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/b2fda76d/attachment.html>
On Mon, Nov 11, 2013 at 3:13 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>wrote:
Right, but the revised spec. for @@unscopables isn't in the Rev21 draft.
I'm looking at rev21, dated Nov 8.
On Mon, Nov 11, 2013 at 3:13 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>wrote: > Right, but the revised spec. for @@unscopables isn't in the Rev21 draft. > I'm looking at rev21, dated Nov 8. Rick > > See https://bugs.ecmascript.org/show_bug.cgi?id=1908 for the changes that > will be in Rev22. > > Allen > > > > > On Nov 11, 2013, at 12:01 PM, Rick Waldron wrote: > > > > > On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > >> On 11/11/13 2:47 PM, Oliver Hunt wrote: >> >>> Alas in addition to assuming that the Arguments object does not have the >>> Array prototype, ExtJS also relies on the Array prototype not containing a >>> property named values. >>> >>> So, it seems that we’ll need to remove .values from the Array prototype. >>> >> >> Oliver, >> >> Just to check, have you read the existing threads on the topic and on >> possible proposed solutions? Starting at https://mail.mozilla.org/ >> pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty >> sure it's been discussed since as well... >> >> > Right—this is why we have @@unscopeables. > > > Rick > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/f0a50138/attachment.html>
On Mon, Nov 11, 2013 at 3:13 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>wrote:
Right, but the revised spec. for @@unscopables isn't in the Rev21 draft.
See ecmascript#1908 for the changes that will be in Rev22.
Sorry, I misread this, please ignore my previous response.
On Mon, Nov 11, 2013 at 3:13 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>wrote: > Right, but the revised spec. for @@unscopables isn't in the Rev21 draft. > > See https://bugs.ecmascript.org/show_bug.cgi?id=1908 for the changes that > will be in Rev22. > > Sorry, I misread this, please ignore my previous response. > Allen > > > > > On Nov 11, 2013, at 12:01 PM, Rick Waldron wrote: > > > > > On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > >> On 11/11/13 2:47 PM, Oliver Hunt wrote: >> >>> Alas in addition to assuming that the Arguments object does not have the >>> Array prototype, ExtJS also relies on the Array prototype not containing a >>> property named values. >>> >>> So, it seems that we’ll need to remove .values from the Array prototype. >>> >> >> Oliver, >> >> Just to check, have you read the existing threads on the topic and on >> possible proposed solutions? Starting at https://mail.mozilla.org/ >> pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty >> sure it's been discussed since as well... >> >> > Right—this is why we have @@unscopeables. > > > Rick > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/50bd7cf0/attachment.html>
For reference, i’ve just removed the API from JSC. Default iterator still does the right thing.
For reference, i’ve just removed the API from JSC. Default iterator still does the right thing. —Oliver On Nov 11, 2013, at 12:51 PM, Rick Waldron <waldron.rick at gmail.com> wrote: > > > > On Mon, Nov 11, 2013 at 3:13 PM, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote: > Right, but the revised spec. for @@unscopables isn't in the Rev21 draft. > > See https://bugs.ecmascript.org/show_bug.cgi?id=1908 for the changes that will be in Rev22. > > > Sorry, I misread this, please ignore my previous response. > > > Allen > > > > > On Nov 11, 2013, at 12:01 PM, Rick Waldron wrote: > >> >> >> >> On Mon, Nov 11, 2013 at 2:59 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: >> On 11/11/13 2:47 PM, Oliver Hunt wrote: >> Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values. >> >> So, it seems that we’ll need to remove .values from the Array prototype. >> >> Oliver, >> >> Just to check, have you read the existing threads on the topic and on possible proposed solutions? Starting at https://mail.mozilla.org/pipermail/es-discuss/2013-June/031390.html for example, and I'm pretty sure it's been discussed since as well... >> >> >> Right—this is why we have @@unscopeables. >> >> >> Rick >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss at mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss > > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131111/ce6f9a25/attachment-0001.html>
Alas in addition to assuming that the Arguments object does not have the Array prototype, ExtJS also relies on the Array prototype not containing a property named values.
So, it seems that we’ll need to remove .values from the Array prototype.