From 5dbc840626b2c34b5a070261da7ff181c731810e Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola <nikodemus@random-state.net> Date: Tue, 5 May 2009 10:41:26 +0300 Subject: [PATCH] OPERATE binds *PACKAGE* and *READTABLE* OPERATE is sufficiently like LOAD and COMPILE-FILE that it makes sense for it to guard against malformed operations which might change current package or readtable. (Like eg. CFFI-GROVEL file used to do until recently.) --- asdf.lisp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asdf.lisp b/asdf.lisp index 82370011..aa1066b3 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1028,7 +1028,9 @@ method.") (defun operate (operation-class system &rest args &key (verbose t) version &allow-other-keys) - (let* ((op (apply #'make-instance operation-class + (let* ((*package* *package*) + (*readtable* *readtable*) + (op (apply #'make-instance operation-class :original-initargs args args)) (*verbose-out* (if verbose *standard-output* (make-broadcast-stream))) -- GitLab