summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-13 18:31:08 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-13 18:31:08 +0100
commit85183eb4a05d57b681fe4ed83a6b539b2ae4ef98 (patch)
treedc29833ea981a3f1bebfd2035eec2f224f970e41
parent4f294ea0c5f54751e90fa27860613b017c050698 (diff)
Internal type declaration reader macro: Add &REST NIL to the return type by default.
darcs-hash:5622add380aaf4eaa7495e34fe07949490a9aac8
-rw-r--r--Lisp/internal-reader-syntax.lisp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lisp/internal-reader-syntax.lisp b/Lisp/internal-reader-syntax.lisp
index b466163..2c38534 100644
--- a/Lisp/internal-reader-syntax.lisp
+++ b/Lisp/internal-reader-syntax.lisp
@@ -93,6 +93,10 @@
(arg-types (first typedecl-parts))
(return-types (second typedecl-parts)))
`(progn
- (declaim (ftype (function (,@arg-types) (values ,@return-types))
+ (declaim (ftype (function (,@arg-types)
+ (values ,@return-types
+ ,@(unless
+ (member '&rest return-types)
+ '(&rest nil))))
,function-name))
,defun-form))))