diff --git a/ansi-tests/flet.lsp b/ansi-tests/flet.lsp index 270ca41793710dd9c7f206710bb8729214824681..e2fe5973a67e9aa701ad3c4f0b2654d013e1d055 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 fe1c67c18821b01d2c48dd8bbf15e2c441c2a31a..3eccdff00b272aba0b051b82d669f760f2f4f4f9 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)