Subject: Re: bug#3892: corrupting load-in-progress value with "let"

From: Ken Raeburn <[email-masked]>
Date: Thu, 23 Jul 2009 20:08:39 -0400

On Jul 21, 2009, at 14:44, Ken Raeburn wrote:
> On Jul 21, 2009, at 12:27, Stefan Monnier wrote:
>> I think we should drop the counter altogether, and use specbind  
>> instead.
>
> Much simpler, yes, and it looks like nothing in the C code cares  
> about the numeric value either.
> Thanks for the suggestion; I'll revise my patch.

I'm working on the revised patch, but it occurs to me that this way,  
some broken bit of code could set load-in-progress to t at some point  
when nothing is being loaded, and it will never become nil again  
unless explicitly reset.  I'm not sure that's right either.  I think I  
kind of like the behavior that while code can temporarily override it,  
the correct state will be restored from the C code any time it changes  
(file loading starts or completes).

A related issue: If we're changing the way it's set, should we retain  
the constraint that load-in-progress can only (appear to) hold boolean  
values, or let it hold any Lisp value instead?

Ken