guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 21/47: psyntax: Fix bug in match-each+.


From: Andy Wingo
Subject: [Guile-commits] 21/47: psyntax: Fix bug in match-each+.
Date: Sun, 22 May 2016 18:23:04 +0000 (UTC)

wingo pushed a commit to branch master
in repository guile.

commit bb7075dc1a9084305160b690ad918cf98401e1dd
Author: Mark H Weaver <address@hidden>
Date:   Thu Sep 3 02:51:00 2015 -0400

    psyntax: Fix bug in match-each+.
    
    Reported by Panicz Maciej Godek <address@hidden> in
    <http://lists.gnu.org/archive/html/guile-user/2015-09/msg00017.html>.
    
    * module/ice-9/psyntax.scm (match-each+): Fix the case where a non-pair
      syntax object is encountered in a dotted tail.
    * module/ice-9/psyntax-pp.scm: Regenerate.
---
 module/ice-9/psyntax-pp.scm |    3 ++-
 module/ice-9/psyntax.scm    |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 0d30b7c..3cd6035 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2509,7 +2509,8 @@
                           (values '() (cdr y-pat) (match (car e) (car y-pat) w 
r mod)))
                         (values #f #f #f)))))
                  ((syntax-object? e)
-                  (f (syntax-object-expression e) (join-wraps w e)))
+                  (f (syntax-object-expression e)
+                     (join-wraps w (syntax-object-wrap e))))
                  (else (values '() y-pat (match e z-pat w r mod)))))))
      (match-each-any
        (lambda (e w mod)
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 0bc6024..a45353a 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -2849,7 +2849,8 @@
                            (match (car e) (car y-pat) w r mod)))
                       (values #f #f #f)))))
              ((syntax-object? e)
-              (f (syntax-object-expression e) (join-wraps w e)))
+              (f (syntax-object-expression e)
+                 (join-wraps w (syntax-object-wrap e))))
              (else
               (values '() y-pat (match e z-pat w r mod)))))))
 



reply via email to

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