Opened 17 years ago

Closed 17 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 by ehuelsmann, 17 years ago

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

comment:2 by ehuelsmann, 17 years ago

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

comment:3 by ehuelsmann, 17 years ago

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

comment:4 by ehuelsmann, 17 years ago

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

comment:5 by ehuelsmann, 17 years ago

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