« Bugzilla Issues Index
#2568 — 9.5.4 Proxy [[PreventExtensions]] language misses early return check?
- bug_id:
2568
- creation_ts:
2014-02-28 12:51:00 -0800
- short_desc:
9.5.4 Proxy [[PreventExtensions]] language misses early return check?
- delta_ts:
2014-04-06 11:30:26 -0700
- product:
Draft for 6th Edition
- component:
technical issue
- version:
Rev 22: January 20, 2014 Draft
- rep_platform:
All
- op_sys:
All
- bug_status:
RESOLVED
- resolution:
FIXED
- priority:
Normal
- bug_severity:
normal
- everconfirmed:
true
- reporter:
Eric Faust
- assigned_to:
Allen Wirfs-Brock
- commentid:
7405
- comment_count:
0
- who:
Eric Faust
- bug_when:
2014-02-28 12:51:05 -0800
9.5.4 steps 8-13 read:
8. Let booleanTrapResult be ToBoolean(trapResult)
9. ReturnIfAbrupt(booleanTrapResult).
10. Let targetIsExtensible be the result of calling the [[IsExtensible]] internal
method of target.
11. ReturnIfAbrupt(targetIsExtensible).
12. If booleanTrapResult is true and targetIsExtensible is true, then throw a
TypeError exception.
13. Return booleanTrapResult.
Is it intentional that the [[IsExtensible]] check is unconditionally called with respect to the return value of the trap? It seems to me you would only want to make the [[IsExtensible]] invocation if |booleanTrapResult| was true, and return false early otherwise.
- commentid:
7412
- comment_count:
1
- who:
Allen Wirfs-Brock
- bug_when:
2014-03-03 12:50:51 -0800
fixed in rev23 editor's draft
- commentid:
7559
- comment_count:
2
- who:
Allen Wirfs-Brock
- bug_when:
2014-04-06 11:30:26 -0700
fixed in rev23 draft