diff --git a/src/intrinsic-macros.lisp b/src/intrinsic-macros.lisp --- a/src/intrinsic-macros.lisp +++ b/src/intrinsic-macros.lisp @@ -86,20 +86,6 @@ ;;; 10dynamic -(defpsmacro dynamic (block &rest args) - `(progn - (when (stringp ,block) - (api:report-error "DYNAMIC can't evaluate arbitrary strings.\\nUse {braces} to create blocks for DYNAMIC.")) - (api:with-call-args ,args nil - (funcall ,block)))) - -(defpsmacro dyneval (block &rest args) - `(progn - (when (stringp ,block) - (api:report-error "DYNEVAL can't evaluate arbitrary strings.\\nUse {braces} to create blocks for DYNEVAL.")) - (api:with-call-args ,args t - (funcall ,block)))) - ;;; 11main (defpsmacro desc (s) diff --git a/src/intrinsics.ps b/src/intrinsics.ps --- a/src/intrinsics.ps +++ b/src/intrinsics.ps @@ -116,6 +116,18 @@ ;;; 10dynamic +(defun dynamic (block &rest args) + (when (stringp block) + (api:report-error "DYNAMIC can't evaluate arbitrary strings.\\nUse {braces} to create blocks for DYNAMIC.")) + (api:with-call-args args nil + (funcall block))) + +(defun dyneval (block &rest args) + (when (stringp block) + (api:report-error "DYNEVAL can't evaluate arbitrary strings.\\nUse {braces} to create blocks for DYNEVAL.")) + (api:with-call-args args t + (funcall block))) + ;;; 11main (defun main-p (s) @@ -182,9 +194,10 @@ (return-from selact (@ v :name))))) (defun curacts () - (let ((acts (api-call copy-obj *acts))) + (let ((acts (chain *object (assign (create) *acts)))) (lambda () (setf *acts acts) + (api:update-acts) (void)))) ;;; 15objs