0.8.0.5:
[sbcl.git] / src / cold / with-stuff.lisp
index aff7a7f..11965fb 100644 (file)
 
 ;;; helper functions for WITH-ADDITIONAL-NICKNAMES and WITHOUT-GIVEN-NICKNAMES
 (defun %with-additional-nickname (package-designator nickname body-fn)
+  (declare (type function body-fn))
   (with-additional-nickname (package-designator nickname)
     (funcall body-fn)))
 (defun %without-given-nickname (package-designator nickname body-fn)
+  (declare (type function body-fn))
   (without-given-nickname (package-designator nickname)
     (funcall body-fn)))
 (defun %multi-nickname-magic (nd-list single-nn-fn body-fn)
+  (declare (type function single-nn-fn))
   (labels ((multi-nd (nd-list body-fn) ; multiple nickname descriptors
+             (declare (type function body-fn))
             (if (null nd-list)
               (funcall body-fn)
               (single-nd (first nd-list)
@@ -81,6 +85,7 @@
             (destructuring-bind (package-descriptor nickname-list) nd
               (multi-nn package-descriptor nickname-list body-fn)))
           (multi-nn (nn-list package-descriptor body-fn) ; multiple nicknames
+             (declare (type function body-fn))
             (if (null nn-list)
               (funcall body-fn)
               (funcall single-nn-fn
 (compile '%without-given-nickname)
 (compile '%multi-nickname-magic)
 
-;;; Like WITH-ADDITIONAL-NICKNAME and WITHOUT-GIVEN-NICKNAMES, except
-;;; working on arbitrary lists of nickname descriptors instead of
-;;; single nickname/package pairs.
+;;; This is like WITH-ADDITIONAL-NICKNAME and WITHOUT-GIVEN-NICKNAMES,
+;;; except working on arbitrary lists of nickname descriptors instead
+;;; of single nickname/package pairs.
 ;;;
 ;;; A nickname descriptor is a list of the form
 ;;;   PACKAGE-DESIGNATOR NICKNAME*