Fri Jun 5 09:50:38 CEST 2009 Tobias Rautenkranz * Set *package* from #'QT-EVAL. diff -rN -u old-repl/src/repl.lisp new-repl/src/repl.lisp --- old-repl/src/repl.lisp 2014-10-30 08:04:05.000000000 +0100 +++ new-repl/src/repl.lisp 2014-10-30 08:04:05.000000000 +0100 @@ -2,18 +2,18 @@ (defvar *qt-eval*) -(defvar *result*) - (defclass qt-eval (qt:object) ((eval-slot :initform (qt:make-slot #'(lambda (form) - (setf *result* - (multiple-value-list (eval form)))) + (setf (result *qt-eval*) (multiple-value-list (eval form)) + (new-package *qt-eval*) *package*)) '(t)) :reader eval-slot) (eval-signal :initform (qt:make-signal t) :reader eval-signal - :documentation "Send an form to evaluate.")) + :documentation "Send an form to evaluate.") + (result :accessor result) + (package :accessor new-package)) (:metaclass cxx:class)) (defmethod initialize-instance :after ((qt-eval qt-eval) &key &allow-other-keys) @@ -22,7 +22,8 @@ (defun qt-eval (form) "Returns the result of FORM evaluated in the event loop thread." (funcall (eval-signal *qt-eval*) form) - (values-list *result*)) + (setf *package* (new-package *qt-eval*)) + (values-list (result *qt-eval*))) (defun end-event-loop () (setf (fdefinition 'swank::eval-region)