- Jul 20, 2017
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
Don't warn when OPERATE is called by REQUIRE. Don't use :FORCE-NOT in REQUIRE-SYSTEM (only check that the required system isn't present yet; otherwise inherit ambient force-not).
-
Francois-Rene Rideau authored
Don't error out but only warn when operate is recursively called. Too much legacy code uses load-system or require inside lisp files and/or perform methods.
-
Francois-Rene Rideau authored
Do not perform an action twice in a session. Introduce three status bits that every action has in a given session, in addition to the stamp: KEEP-P (from previous session), DONE-P (and up-to-date, in this image), NEED-P (needed in this image as part of this session). BACKWARD INCOMPATIBILITY: Invert the meaning of NIL and T for STAMP, so that NIL means out-of-date. This makes our code conceptually nicer, and no one in Quicklisp uses our stamps, anyway. Still, beware.
-
Francois-Rene Rideau authored
Use a simple table *registered-systems* mapping name to system, and remember timestamps in the COMPONENT-OPERATION-TIME for DEFINE-OP, instead of the original *defined-systems* table mapping name to cons of timestamp and system.
-
Francois-Rene Rideau authored
Move forcing into its own file. Include forcing, not plan, among session slots. Share a toplevel forcing for all performable plans. Have REQUIRE use load-system, not require-system, so as not to conflict with session forcing options. Don't call with-asdf-session outside the test scripts themselves. Cleanup a few scripts accordingly, and beyond.
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
This should notably prevent recording of a circular dependency of asdf on asdf.
-
Francois-Rene Rideau authored
Tweak primary-system-name to extract a component's system's primary-name. primary-system-p recognizes only systems (not random component) and strings that name them.
-
Francois-Rene Rideau authored
Move it to asdf/find-system.
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
Split asdf/system-registry away from asdf/find-system: the former defines the internal *defined-systems* table and the search mechanism, whereas the latter keeps the find-system methods, but also defines a new define-op operation, on load-asd will call operate. Reorder dependencies accordingly. Have forcing come from the plan, so as to not force again actions from dependencies that were already performed in a subcall to operate. Accept asdf.asd from the same version, so asdf.asd doesn't get removed at the very next call to operate (which may now come implicitly at the least provocation).
-
Francois-Rene Rideau authored
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.
-
Francois-Rene Rideau authored
Replace with-asdf-cache with with-asdf-session. Introduce *asdf-session-class* to hold the class of the session. Introduce caching-cache, currently the only session class, that only contains a cache, for now.
-
Francois-Rene Rideau authored
-
- Oct 31, 2016
-
-
Francois-Rene Rideau authored
-
- Sep 25, 2016
-
-
Francois-Rene Rideau authored
Simplify find-system and a test accordingly. Also, group map-systems with other related functions.
-
Francois-Rene Rideau authored
The order in which the upgrade fixups were called wasn't very robust. We need to first get a list of systems being defined, then clear defined systems (but not asdf, and *neither uiop* that asdf depends on), then upgrade the configuration, and *finally* reload any of the systems being defined (including their defsystem-depends-on dependencies!), which means this all has to be coordinated within the same function.
-
Francois-Rene Rideau authored
p-u-r-h was never called! Two functions were registered. Register them with *post-upgrade-cleanup-hook* instead. The hook was introduced with pre-release 2.27, possibly with the intent to be called by the main operate :around method when an asdf build is restarted in the middle. But that never happened.
-
- Sep 22, 2016
-
-
Robert Goldman authored
-
- Sep 20, 2016
-
-
Francois-Rene Rideau authored
-
- Sep 17, 2016
-
-
Francois-Rene Rideau authored
SBCL cares about type declarations, and the declared ftype became a lie after allowing arbitrary component designators rather than only components in calls to mark-component-preloaded, which *sometimes* caused errors.
-
- Sep 15, 2016
-
-
Robert Goldman authored
-
Francois-Rene Rideau authored
Daniel Kochmanski convinced me that immutable systems are "just" blessed preloaded systems; the automatic version feature of immutable systems can thus be generalized to all preloaded systems. Update several docstrings. Also, document that direct access to *immutable-systems* is not supported. Contact the maintainers if you need an interface to that.
-
- Sep 14, 2016
-
-
Francois-Rene Rideau authored
Change clear-system accordingly, and simplify how we handle immutable systems. Add or improve documentation for several of the functions involved. Also stop advertising asdf::*immutable-systems*; instead promote asdf:register-immutable-system. This is a preliminary to fixing component-loaded-p for preloaded systems.
-
- Sep 13, 2016
-
-
Francois-Rene Rideau authored
Introduce the function REGISTERED-SYSTEM to abstract over finding a registered system by name, without having to take the CDR of the pair with timestamp. Also, add or improve docstrings for several functions. This refactoring should not modify any semantics, except for introducing this new function.
-
- Sep 12, 2016
-
-
Francois-Rene Rideau authored
This should make Daniel K happy. Also remove obsolete cleaning of locate-system cached results, for we haven't cached the result since 00256418 (3.1.2.9, 2014), that this commit partly undoes, partly re-does (due to merge conflict at the time).
-
- Nov 28, 2015
-
-
Francois-Rene Rideau authored
This helps with e.g. not needlessly triggering find-system hooks, or invalidating the loadedness status because there was a system update. https://github.com/quicklisp/quicklisp-client/pull/122#issuecomment-159744105
-
- Nov 17, 2015
-
-
Francois-Rene Rideau authored
Attila offered these tests, that currently fail at HEAD, for which I have a patch (to be included in next commit). They check that an error when loading defsystem-depends-on dependencies doesn't cause an incomplete system to be registered but never properly parsed, that thereafter pollute the build. A real solution would imply to fix lp#1500578 though: ASDF should handle change in defsystem-depends-on dependencies https://bugs.launchpad.net/asdf/+bug/1500578
-
- Jul 10, 2015
-
-
Francois-Rene Rideau authored
-
- Jun 29, 2015
-
-
Dave Cooper authored
Make *immutable-systems* also respect preloaded-systems. Don't clear immutable-systems as part of clear-system and clear-defined-system. Export register-preloaded-system. Add a test, ensure bugs are fixed. This code was written by Dave Cooper then tweaked by Francois-Rene Rideau.
-
- Apr 27, 2015
-
-
Francois-Rene Rideau authored
-
- Jul 11, 2014
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
the functionality was moved to call-with-asdf-cache before where it belongs.
-
- Jul 10, 2014
-
-
Robert P. Goldman authored
Caching negative results here causes pervasive problems, and removing negative caching only would be very messy, so we are removing caching here altogether. This required some modification to the test code, which was directly using LOCATE-SYSTEM, and LOCATE-SYSTEM cannot be safely invoked unless the ASDF-CACHE has been established.
-
Francois-Rene Rideau authored
-
Robert P. Goldman authored
-
- Jul 09, 2014
-
-
Robert P. Goldman authored
This required refactoring to move REINITIALIZE-SOURCE-REGISTRY-AND-RESTART to correct location. This shoudl also fix bug13353423, but we still need a better test.
-
- Jul 05, 2014
-
-
Robert P. Goldman authored
-
- Jul 01, 2014
-
-
Robert P. Goldman authored
Documented LOCATE-SYSTEM per docstring (which was also copy-edited). Corrected description of package used when loading .asd files.
-