Opened 12 years ago
Last modified 17 months ago
#240 assigned defect
FIND-CLASS does not implement 3-argument behavior
Reported by: | rschlatte | Owned by: | ehuelsmann |
---|---|---|---|
Priority: | major | Milestone: | 1.9.3 |
Component: | CLOS | Version: | 1.2.0-dev |
Keywords: | Cc: | ||
Parent Tickets: |
Description
Currently find-class does not use a supplied third (environment) parameter. (LispClass?.java line 331 has a FIXME to that effect.) This blocks the fix for #239 since classes cannot be inspected at compile-time.
Attachments (1)
Change History (21)
comment:1 Changed 12 years ago by
Owner: | changed from somebody to ehuelsmann |
---|---|
Status: | new → assigned |
comment:2 Changed 12 years ago by
Milestone: | → 1.2.0 |
---|---|
Priority: | minor → major |
comment:3 Changed 12 years ago by
Version: | → 1.2.0-dev |
---|
comment:4 Changed 11 years ago by
Milestone: | 1.2.0 → 1.3.0 |
---|
comment:7 Changed 11 years ago by
Milestone: | 2.0.0 → 1.4.0 |
---|
comment:12 Changed 4 years ago by
Milestone: | 1.6.2 → 1.7.0 |
---|
comment:17 Changed 3 years ago by
Milestone: | 1.8.1 → 1.9.0 |
---|
comment:18 Changed 22 months ago by
Milestone: | 1.9.0 → 1.9.1 |
---|
comment:19 Changed 21 months ago by
Milestone: | 1.9.1 → 1.9.2 |
---|
comment:20 Changed 17 months ago by
Milestone: | 1.9.2 → 1.9.3 |
---|
Note: See
TracTickets for help on using
tickets.
I promised to take this one.
Documenting my planned approach so anybody can pick it if they find time before I do.
The plan is to add a new field to the Environment java class. The field will contain a hash map just as the "live" class hash map does. Each new environment created from a "root" environment copies the pointer to the hash map.
The three argument find-class and %set-find-class cases set the class in that hash map instead of the global one.
As soon as the environment disappears the classes pointed to can be garbage collected, if their super classes don't contain pointers to them.