From 9da4814b71b28e23bff3b75402ada22228a8be31 Mon Sep 17 00:00:00 2001
From: sds <sds@localhost>
Date: Mon, 8 Nov 2010 23:13:30 +0000
Subject: [PATCH] add tests for GO to invalid tags From "Tobias C. Rittweiler"
 <tcr@freebits.de>

---
 .../beyond-ansi/errors-data-and-control-flow-2.lsp   | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/ansi-tests/beyond-ansi/errors-data-and-control-flow-2.lsp b/ansi-tests/beyond-ansi/errors-data-and-control-flow-2.lsp
index 2989fe08..d0d2e9b6 100644
--- a/ansi-tests/beyond-ansi/errors-data-and-control-flow-2.lsp
+++ b/ansi-tests/beyond-ansi/errors-data-and-control-flow-2.lsp
@@ -184,6 +184,18 @@
 (def-error-test go.4 (tagbody (go done . foo) done))
 (def-error-test go.5 (tagbody (go done foo) done))
 
+;; try to use GO on tag outside of dynamic-extent of TAGBODY
+(def-error-test go.6
+  (let ((f nil))
+    (tagbody (setf f (lambda () (go foo))) foo)
+    (funcall f)))
+(def-error-test go.7
+    (funcall (block nil
+               (tagbody
+                  (return (lambda () (go :foo)))
+                :foo (return 42)))))
+
+
 ;;; RETURN-FROM
 
 (def-error-test return-from.1 (return-from))
-- 
GitLab