From f3611b6e8a8b7d86f12e79d05c2a44d7d65d789b Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 11 Dec 1990 21:39:59 +0000
Subject: [PATCH] Fixed make-slot to copy-list it's &rest arg before using
 destructive operations on it.

---
 compiler/generic/objdef.lisp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/compiler/generic/objdef.lisp b/compiler/generic/objdef.lisp
index 0961442b3..c34420cae 100644
--- a/compiler/generic/objdef.lisp
+++ b/compiler/generic/objdef.lisp
@@ -7,7 +7,7 @@
 ;;; Lisp, please contact Scott Fahlman (Scott.Fahlman@CS.CMU.EDU)
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.7 1990/11/25 20:59:00 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.8 1990/12/11 21:39:59 wlott Exp $
 ;;;
 ;;; This file contains the machine independent aspects of the object
 ;;; representation.
@@ -168,10 +168,11 @@
 (defun make-slot (name &rest options
 		       &key docs rest-p (length (if rest-p 0 1))
 		       &allow-other-keys)
-  (remf options :docs)
-  (remf options :rest-p)
-  (remf options :length)
-  (%make-slot name docs rest-p length options))
+  (let ((options (copy-list options)))
+    (remf options :docs)
+    (remf options :rest-p)
+    (remf options :length)
+    (%make-slot name docs rest-p length options)))
 
 (defstruct (primitive-object
 	    )
-- 
GitLab