On Thu, Aug 19, 2010 at 6:40 PM, Taylor R Campbell <[email protected]> wrote: > > I think the problem is that update_cache_references and the associated > routines don't take the name of the binding involved, causing them to > update references that they shouldn't update, because they were to > different names.
I'm not sure that the name is supposed to be taken into account. When LINK-VARIABLES is called, it irrevocably causes the first variable to be an alias for the second. When the (runtime miscellaneous-global) package is loaded, REFERENCE-BARRIER is exported as an alias to IDENTITY-PROCEDURE, as we can see in this nasty bit of code: 1 ]=> (fluid-let ((identity-procedure 'woohoo)) reference-barrier) ;Value: woohoo 1 ]=> (fluid-let ((reference-barrier 'yow)) identity-procedure) ;Value: yow I think the behavior you are seeing is the expected one. You probably don't want to alias the two variables but simply initialize REFERENCE-BARRIER to IDENTITY-PROCEDURE. -- ~jrm _______________________________________________ MIT-Scheme-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/mit-scheme-devel
