Opened 5 years ago

Last modified 3 months ago

#240 assigned defect

FIND-CLASS does not implement 3-argument behavior

Reported by: rschlatte Owned by: ehuelsmann
Priority: major Milestone: 1.6.0
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.

Subtickets (add)

Attachments (1)

ticket-240.patch (2.6 KB) - added by https://www.google.com/accounts/o8/id?id=AItOawkepo5zP0hcDAdImA8S1SswjH-AfweQ5x0 4 years ago.
initial implementation

Download all attachments as: .zip

Change History (10)

comment:1 Changed 5 years ago by ehuelsmann

  • Owner changed from somebody to ehuelsmann
  • Status changed from new to assigned

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.

comment:2 Changed 5 years ago by mevenson

  • Milestone set to 1.2.0
  • Priority changed from minor to major

comment:3 Changed 4 years ago by https://www.google.com/accounts/o8/id?id=AItOawkYnNNEAO_K40Gp0xROhyjOPgjvIskQ48M

  • Version set to 1.2.0-dev

Changed 4 years ago by https://www.google.com/accounts/o8/id?id=AItOawkepo5zP0hcDAdImA8S1SswjH-AfweQ5x0

initial implementation

comment:4 Changed 4 years ago by https://www.google.com/accounts/o8/id?id=AItOawkYnNNEAO_K40Gp0xROhyjOPgjvIskQ48M

  • Milestone changed from 1.2.0 to 1.3.0

comment:5 Changed 4 years ago by mevenson

  • Milestone changed from 1.3.0 to 2.0

Ticket retargeted after milestone closed

comment:6 Changed 4 years ago by mevenson

  • Milestone changed from 2.0 to 2.0.0

Milestone renamed

comment:7 Changed 4 years ago by mevenson

  • Milestone changed from 2.0.0 to 1.4.0

comment:8 Changed 12 months ago by mevenson

  • Milestone changed from 1.4.0 to 1.5.0

Ticket retargeted after milestone closed

comment:9 Changed 3 months ago by mevenson

  • Milestone changed from 1.5.0 to 1.6.0

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.