+++ This bug was initially created as a clone of Bug #310 +++
188.8.131.52 should have redefined [[GetOwnProperty]] instead of [[Get]] to restrict access to strict-mode functions from non-strict code.
OK, it looks like the addition of line 6 of 184.108.40.206 was an error. Line 20 and the informative note in 220.127.116.11 had been around for quite a while when lines 5 and 6 were added in the August 31, 2009 ES5 draft. Technically line 5 is needed and I probably also added line 6 to also incorporate 18.104.22.168 but didn't notice that line 20 made it unnecessary.
I'm disinclined to do anything at all for non-strict caller other than correcting the spec. to use [[GetOwnProperty]] instead of [[Get]]. I'm haven't yet heard any real interoperability issues involving this non-standard feature and unless there are I don't thing we should do anything beyond the minimum necessary to ensure "caller" doesn't leak strict callers form the call stack. As I mentioned earlier, we might consider just specify that as a requirement and moving a away for an algorithmic spec. for this mis-feature.
in rev 12 define both [[GetP] and [[GetownProperty]] to sensor such function references. Currently as undefined, but perhaps should be null.
(In reply to comment #1)
> in rev 12 define both [[GetP] and [[GetownProperty]] to sensor such function
> references. Currently as undefined, but perhaps should be null.
I sense censoring ;-).
Yes, definitely should be null. Otherwise you can tell there's a strict caller, an info leak that might lead to trouble. Hoping Mark will confirm.
corrected in rev 12, Nov. 22, 2012 draft
reopened on rev 12 to change censor value to null
changed to null in rev 13 editor's draft