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