[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.2-43-g2844ab

From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.2-43-g2844ab8
Date: Wed, 17 Aug 2011 20:35:42 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

The branch, stable-2.0 has been updated
       via  2844ab856427936aff535103195b3553cfa0d393 (commit)
      from  8761623524d767e6e355f0de4c3be426ed3c8b09 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2844ab856427936aff535103195b3553cfa0d393
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 17 22:35:24 2011 +0200

    fix recursive define-inlinable expansions
    * module/ice-9/boot-9.scm (define-inlinable): Prevent expansion from
      diverging by using fluid-let-syntax, as Dybvig suggests.


Summary of changes:
 module/ice-9/boot-9.scm |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 1ddb0ff..8a938ec 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -3728,13 +3728,15 @@ module '(ice-9 q) '(make-q q-length))}."
                      ((args ...) (generate-temporaries #'(formals ...))))
              (define (proc-name formals ...)
-               body ...)
+               (fluid-let-syntax ((name (identifier-syntax proc-name)))
+                 body ...))
              (define-syntax name
                (lambda (x)
                  (syntax-case x ()
                    ((_ args ...)
-                    #'((lambda (formals ...)
-                         body ...)
+                    #'((fluid-let-syntax ((name (identifier-syntax proc-name)))
+                         (lambda (formals ...)
+                           body ...))
                        args ...))
                     (identifier? x)

GNU Guile

reply via email to

[Prev in Thread] Current Thread [Next in Thread]