bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Stefan Israelsson Tampe
Consider this simple exmple with fluids and reodos via propmts, (define (f x) (let ((s (make-fluid 0))) (with-fluids ((s 0)) (let lp ((i 0)) (cond ((>= i 100) (fluid-ref s)) ((= i 50) (abort-to-prompt 'tag) (lp (+ i 1))) (else (flui

bug#14035: Fixed in 2.0.7

2013-03-23 Thread johnanthony
I grabbed 2.0.7 to see if it was fixed here and it appears to be. Apologies if I was re-reporting an existing bug that was both known about and fixed.

bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Daniel Hartwig
On 23 March 2013 18:41, Stefan Israelsson Tampe wrote: > Consider this simple exmple with fluids and reodos via propmts, > > (define (f x) > (let ((s (make-fluid 0))) > (with-fluids ((s 0)) > (let lp ((i 0)) >(cond ((>= i 100) (fluid-ref s)) > ((= i 50)

bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Stefan Israelsson Tampe
I would expect (k) to be the same. Otherwise fluids would not mix well with undo redo sematics. But I do understand that people might have decided that it should work like this. and knowing the this semantic, one can fix the problem. If the semantics is correct I really can't find an example where

bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Stefan Israelsson Tampe
Ok, I've been meditating over this question and really I can't find a single use case where the current behavior is prefered with an optimized path and the more natural behavior where undo and redo works is dismissed as a faulty semantics with a slow path. But not only this if my suggested change t

bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Andy Wingo
On Sat 23 Mar 2013 11:41, Stefan Israelsson Tampe writes: > The reason is that when the with-fluid returns normally it does a full > swap. It should only do half a swap e.g. restore the old value of the > fluid and not store the current which is of non use because it can not > be reached anymore

bug#14039: Bug in with-fluids semantics

2013-03-23 Thread Stefan Israelsson Tampe
Well yes you can actually. You can change and keep at the same time :-) I really agree that the current setup is what we got and may have merit but the problem is I have not find any uses of it. I would be glad to be wrong here but you all keep throwing a theoretical argument against it and just d

bug#14035: Fixed in 2.0.7

2013-03-23 Thread Mark H Weaver
Hi John, johnanth...@lavabit.com writes: > I grabbed 2.0.7 to see if it was fixed here and it appears to be. Excellent, thanks for letting us know! > Apologies if I was re-reporting an existing bug that was both known about > and fixed. No need to apologize. Thanks for taking the time to file