GNU bug report logs - #13843
[PATCH] Fix "later bindings win" stipulation for with-fluids

Previous Next

Package: guile;

Reported by: David Kastrup <dak <at> gnu.org>

Date: Thu, 28 Feb 2013 17:50:01 UTC

Severity: normal

Tags: patch

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: David Kastrup <dak <at> gnu.org>
Subject: bug#13843: closed (Re: bug#13843: [PATCH] Fix "later bindings
 win" stipulation for with-fluids)
Date: Thu, 28 Feb 2013 23:51:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#13843: [PATCH] Fix "later bindings win" stipulation for with-fluids

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 13843 <at> debbugs.gnu.org.

-- 
13843: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13843
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Mark H Weaver <mhw <at> netris.org>
To: David Kastrup <dak <at> gnu.org>
Cc: 13843-done <at> debbugs.gnu.org
Subject: Re: bug#13843: [PATCH] Fix "later bindings win" stipulation for
	with-fluids
Date: Thu, 28 Feb 2013 18:48:15 -0500
Fixed in 8dd01861a9a0331b912a1ae6310e64eb6b47c29c.

   Thanks!
     Mark

[Message part 3 (message/rfc822, inline)]
From: David Kastrup <dak <at> gnu.org>
To: bug-guile <at> gnu.org
Cc: David Kastrup <dak <at> gnu.org>
Subject: [PATCH] Fix "later bindings win" stipulation for with-fluids
Date: Thu, 28 Feb 2013 11:04:06 +0100
The following code displayed 2:

(define a (make-fluid))
(with-fluids ((a 1) (a 2) (a 3))
	     (display (fluid-ref a)))
---
 libguile/fluids.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libguile/fluids.c b/libguile/fluids.c
index bd59e26..11309c9 100644
--- a/libguile/fluids.c
+++ b/libguile/fluids.c
@@ -321,7 +321,7 @@ scm_i_make_with_fluids (size_t n, SCM *fluids, SCM *vals)
     size_t i, j = n;
 
     while (j--)
-      for (i = 0; i < j; i++)
+      for (i = j; i--;)
         if (scm_is_eq (fluids[i], fluids[j]))
           {
             vals[i] = vals[j]; /* later bindings win */
-- 
1.7.10.4




This bug report was last modified 12 years and 144 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.