Move node visit information from plan to session
Significantly refactor plan internals. Move visited-actions, visiting-action-set, visiting-action-list, total-action-count, planned-action-count, planned-output-action-count from plan to session (remove the plan- prefix to accessors). Move sysdef-error from component to session. Remove plan as a parameter of action-valid-p (made simple defun) and while-visiting-action (both moved to action), but also map-direct-dependencies, reduce-direct-dependencies, direct-dependencies. Rename *default-plan-class* to *plan-class*, plan-record-dependency to record-dependency, plan-action-status to action-status plan-forced (accessor) to forced, plan-forced-not (accessor) to forced-not. Introduce define-op, and visit a suitable action while loading an asd file. Accumulate inner operate dependencies in a slot definition-dependencies of a registered system or a newly registered undefined-system. Introduce reset-session or reset-session-visited in various tests, so operations aren't considered as layered atop each other, but as restarting from a fresh planning session. Use with-asdf-session in required-components, make-plan. Stop using node-for, use cons directly, now that operations are safe. Export format-action from action. Move some conditions and generic functions around and reorder dependencies.
Showing with 366 additions and 291 deletions