X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/8051cf23044e5dbbece0d328102197a04ce5718d..37ae02ffa0d788f59c096cec7a3ac9744d87cf16:/test-suite/tests/syncase.test diff --git a/test-suite/tests/syncase.test b/test-suite/tests/syncase.test index 15c811cc9..7651c46a4 100644 --- a/test-suite/tests/syncase.test +++ b/test-suite/tests/syncase.test @@ -1,6 +1,6 @@ ;;;; syncase.test --- test suite for (ice-9 syncase) -*- scheme -*- ;;;; -;;;; Copyright (C) 2001, 2006, 2009, 2010, 2011, 2013 Free Software Foundation, Inc. +;;;; Copyright (C) 2001, 2006, 2009, 2010, 2011, 2013, 2015 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -307,3 +307,18 @@ (pass-if-syntax-error "primref in (guile)" "not in operator position" (macroexpand '(@@ @@ (guile) (@@ primitive cons))))) + +(pass-if "infinite loop bug" + (begin + (macroexpand + '(let-syntax + ((define-foo + (syntax-rules () + ((define-foo a b) + (begin + (define a '()) + ;; Oddly, the "*" in the define* seems to be + ;; important in triggering this bug. + (define* (b) (set! a a))))))) + (define-foo a c))) + #t))