From 60f810acec03fc6cae6882da5b6ecf1cba431e6e Mon Sep 17 00:00:00 2001
From: pfdietz <pfdietz@localhost>
Date: Sat, 15 Feb 2003 13:47:31 +0000
Subject: [PATCH] Fixed busted FTYPE declarations and added tests for keywords
 as function names.

---
 ansi-tests/flet.lsp   | 11 ++++++++++-
 ansi-tests/labels.lsp | 15 ++++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/ansi-tests/flet.lsp b/ansi-tests/flet.lsp
index 270ca417..e2fe5973 100644
--- a/ansi-tests/flet.lsp
+++ b/ansi-tests/flet.lsp
@@ -152,7 +152,7 @@
 	     (declare (type fixnum x))
 	     "Add one to the fixnum x."
 	     (1+ x)))
-    (declare (ftype (fixnum) integer))
+    (declare (ftype (function (fixnum) integer) %f))
     (%f 10))
   11)
 
@@ -390,3 +390,12 @@
   (flet ((t () 'b)) (t))
   b)
 
+;;; Keywords can be function names
+(deftest flet.47
+  (flet ((:foo () 'bar)) (:foo))
+  bar)
+
+(deftest flet.48
+  (flet ((:foo () 'bar)) (funcall #':foo))
+  bar)
+
diff --git a/ansi-tests/labels.lsp b/ansi-tests/labels.lsp
index fe1c67c1..3eccdff0 100644
--- a/ansi-tests/labels.lsp
+++ b/ansi-tests/labels.lsp
@@ -160,6 +160,19 @@
 	     (declare (type fixnum x))
 	     "Add one to the fixnum x."
 	     (1+ x)))
-    (declare (ftype (fixnum) integer))
+    (declare (ftype (function (fixnum) integer) %f))
     (%f 10))
   11)
+
+;;; Keywords can be function names
+(deftest labels.22
+  (labels ((:foo () 10)
+	   (:bar () (1+ (:foo))))
+    (:bar))
+  11)
+
+(deftest labels.23
+  (labels ((:foo () 10)
+	   (:bar () (1+ (funcall #':foo))))
+    (funcall #':bar))
+  11)
-- 
GitLab