From 15455f8d73494e1155aa9ef16b7bffa80d4b6007 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 4 Dec 1990 15:28:17 +0000
Subject: [PATCH] Changed MAKE-LAP-CLOSURE-GENERATOR to use LOCALLY (OPTIMIZE
 ...) rather than an optimize declaration at the head of the body.  This is so
 that argument count checking is still done.

---
 pcl/plap.lisp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pcl/plap.lisp b/pcl/plap.lisp
index 5a0ab57ff..6e40319e8 100644
--- a/pcl/plap.lisp
+++ b/pcl/plap.lisp
@@ -89,8 +89,11 @@
 	   (*lap-rest-p* (not (null rest))))
       `(lambda ,cvars
 	 #'(lambda ,args
-	     (declare (optimize . ,*lap-optimize-declaration*))
-	     ,(make-lap-prog-internal i-regs v-regs t-regs lap))))))
+	     ;;
+	     ;; Use LOCALLY instead of a declare on the lambda so that we don't
+	     ;; suppress arg count checking...
+	     (locally (declare (optimize . ,*lap-optimize-declaration*))
+	       ,(make-lap-prog-internal i-regs v-regs t-regs lap)))))))
 
 (defun make-lap-prog (i-regs v-regs t-regs lap)
   (let* ((*lap-args* 'lap-in-lisp)
-- 
GitLab