From 2dd36d0118ae78ee314d25358647ac14c1abcff9 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sun, 27 Dec 2009 20:19:34 +0100 Subject: [PATCH] When registering and returning cleanup forms, return fresh lists. --- src/new-cmp/cmpenv.lsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/new-cmp/cmpenv.lsp b/src/new-cmp/cmpenv.lsp index 7459b7e17..e5cb237ed 100644 --- a/src/new-cmp/cmpenv.lsp +++ b/src/new-cmp/cmpenv.lsp @@ -492,7 +492,7 @@ (error "Inconsistency in environment.")) (return-from c1cleanup-forms (nconc (c1unbind specials nil) - (apply #'append cleanup-forms)))))) + (apply #'nconc (mapcar #'copy-list cleanup-forms))))))) (defun cmp-env-register-var (var &optional (env *cmp-env*) (boundp t)) (push (list (var-name var) @@ -550,7 +550,7 @@ env) (defun cmp-env-register-cleanup (form &optional (env *cmp-env*)) - (push (list :cleanup form) (cmp-env-variables env)) + (push (list :cleanup (copy-list form)) (cmp-env-variables env)) env) (defun cmp-env-search-function (name &optional (env *cmp-env*))