Closed Bug 667646 Opened 14 years ago Closed 14 years ago

(function f() { alert("" + f.caller); })() should alert null, not undefined

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: Waldo, Assigned: Waldo)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

3.6 alerted null. 4.0, 5.0, and presumably everything since alerts undefined. This contradicts my understanding of the property and our documentation, so we should go back to 3.6-era behavior: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/caller If I had to guess, the changeset that introduce getValidCalleeObject (which I'm pretty sure I reviewed!) probably regressed this, but I don't really care enough to verify that or bisect a true regressor.
Attachment #542299 - Flags: review?(evilpies)
Comment on attachment 542299 [details] [diff] [review] Patch, plus tests for bug 666587 Review of attachment 542299 [details] [diff] [review]: ----------------------------------------------------------------- I really like that we lost one level of indention here. I am not sure how much we care about getValidCalleeObject, but it looks like it was more or less created for ".caller", so i it should be okay to change the return value. ::: js/src/tests/ecma_5/extensions/function-properties.js @@ +8,5 @@ > +} > + > +assertEq(foo.arguments, null); > +assertEq(foo.caller, null); > +foo(); Check foo.caller and foo.arguments.length here again. Just for the sake of it :)
Attachment #542299 - Flags: review?(evilpies) → review+
Whiteboard: fixed-in-tracemonkey
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: mozilla7 → mozilla8
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: