Opened 13 years ago

Closed 12 years ago

#52 closed defect (fixed)

Install lastSpecialBinding "finally" handler

Reported by: ehuelsmann Owned by: ehuelsmann
Priority: critical Milestone:
Component: compiler Version:
Keywords: Cc:
Parent Tickets:

Description

Not in all places where the compiler binds specials, it installs a finally handler at the end of the block to make sure the lastSpecialBinding gets restored.

The result being that special bindings may be leaked into callers' environments.

Change History (5)

comment:1 Changed 13 years ago by ehuelsmann

r11704 creates this try/finally block for LET/LET* blocks.

comment:2 Changed 13 years ago by ehuelsmann

r11705 creates a try/finally block around the MULTIPLE-VALUE-BIND (inclusive of the form binding the symbols)

comment:3 Changed 13 years ago by ehuelsmann

r11706 creates a try/finally block around the PROGV form, inclusive of the forms binding the symbols.

comment:4 Changed 13 years ago by ehuelsmann

r11708 creates a try/finally block around the function body of functions binding special variables as their arguments.

comment:5 Changed 12 years ago by ehuelsmann

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.