From: Stas B. <sta...@gm...> - 2014-03-09 18:27:26
|
Douglas Katzman <do...@go...> writes: > (let ((a 0)) (defstruct foo (id (incf a)))) ; loses lexical context > > and > > (let((sb-ext:*evaluator-mode* :interpret)) (load"thing.fasl")) > > #'foo-id => #<INTERPRETED-FUNCTION ...> > I think would be considered surprising behavior by most folks. You are now working on the info db, can it have info entries with dynamic extent? That would also help with https://bugs.launchpad.net/sbcl/+bug/1289779 So it will look something like: (info-let ((:type :compiler-layout struct-name) value) code which is compiled with that info taking into account) and that info entry can me modified inside the extent, and the previous value restored at the end. -- With best regards, Stas. |