- 18 Dec, 2017 2 commits
-
-
Robert Goldman authored
-
Robert Goldman authored
Add package location information on SBCL See merge request asdf/asdf!90
-
- 17 Dec, 2017 1 commit
-
-
Francois-Rene Rideau authored
Enhance define-package so SBCL can locate the source-location of the package.
-
- 15 Dec, 2017 2 commits
-
-
Robert Goldman authored
-
Robert Goldman authored
-
- 12 Dec, 2017 3 commits
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
-
- 06 Dec, 2017 1 commit
-
-
Francois-Rene Rideau authored
-
- 05 Dec, 2017 3 commits
-
-
Francois-Rene Rideau authored
Change implementation strategy for operation metadata methods bundle-type, gather-operation and gather-type. Upgrading from 3.1.7 or earlier yielded incorrect values for the metadata slots of the bundle operation classes, e.g. (gather-type (make-operation 'monolithic-lib-op))) was stuck to :STATIC-LIBRARY instead of its correct value :OBJECT since 3.2.0. The reason was that we were storing the value for this method in the :initform for the slot gather-type, which started as clever way of defining it as part of the DEFCLASS form for the class itself; however, this usage pattern does not work well with hot code upgrade: if the :initform changes during ASDF upgrade, the slot is already initialized, so its value isn't updated. That would require a method on UPDATE-INSTANCE-FOR-REDEFINED-CLASS, which hopefully should be invoked despite the fact that the shape of the class hasn't changed. A new slot won't be allocated because (a) we ensure that our operation classes are singleton classes using an *operations* cache, so objects are not reallocated, and (b) we define our slots with an :allocation :class, anyway. Remarkably, at least *some* of our changes in :initform have worked anyway, because when we transitioned allocation from :instance (default) to :class, that transition did force the computation of the new :initform, so the problem was hidden. But we're already out of luck with this upgrade from 3.1.7, and we must find a real solution. The Right Thing(tm) to do is to use DEFMETHOD to define specialized values. This commit does exactly that for the slots defined in bundle.lisp (and also used in concatenate-source.lisp). Ideally, we'd also do that for the slots defined in action.lisp and used in lisp-action.lisp, bundle.lisp and concatenate-source.lisp --- but there might or might not be clients in Quicklisp (or beyond Quicklisp) that this change would break. We must check backward compatibility, make sufficient announcement, etc. Sigh.
-
Francois-Rene Rideau authored
Test more versions during upgrade tests.
-
Francois-Rene Rideau authored
-
- 01 Dec, 2017 2 commits
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
-
- 14 Nov, 2017 2 commits
-
-
Robert Goldman authored
-
Robert Goldman authored
-
- 12 Nov, 2017 2 commits
-
-
Robert Goldman authored
-
Robert Goldman authored
-
- 27 Oct, 2017 2 commits
-
-
Robert Goldman authored
Best practices: add table of contents See merge request asdf/asdf!75
-
Rommel MARTINEZ authored
-
- 26 Oct, 2017 3 commits
-
-
Robert Goldman authored
-
-
Robert Goldman authored
Rename stamp to timestamp in uiop/utility See merge request asdf/asdf!87
-
- 22 Oct, 2017 1 commit
-
-
Robert Goldman authored
Extend the set of versions from which to test upgrade See merge request asdf/asdf!88
-
- 21 Oct, 2017 1 commit
-
-
Francois-Rene Rideau authored
A when-upgrading form had an improper version.
-
- 20 Oct, 2017 3 commits
-
-
Francois-Rene Rideau authored
A recent manual test found a bug upgrading from 3.2.1. So include that in the test set. New policy: include first and last of the last few ASDF series, not just last.
-
Francois-Rene Rideau authored
Restore backward compatibility with older versions of ASDF (before 3.3.0) by renaming stamp< and its friends to timestamp<, etc. Sometime in the lead-up to ASDF 3.3.0, I changed the encoding of infinities from NIL is -infinity and T is +infinity to T is -infinity and T is +infinity which made the code notably nicer on the ASDF side, because file-write-date would return directly the correct result instead of having to constantly switch between inverse conventions. However --- big mistake --- I kept the same function name, after checking that the functions had no user in Quicklisp, no one who had ever discussed them but me, and no documentation before 3.2.0 except a single comment line for the entire family of functions. This doesn't matter as long as ASDF and UIOP are kept in synch, but such is not the case with Quicklisp, where Xach both welcomes recent UIOP releases but refuses to include updates to ASDF itself. Then, loading a new UIOP with reverse conventions totally confuses the old ASDF, and causes spurious rebuilds of everything after UIOP is loaded -- multiple times if present in multiple phases (that and slower build times is how Xach noticed the bug). The solution adopted is to give a new name to the functions with a different convention -- timestamp< instead of stamp<, and so on. Therefore, the new ASDF 3.3.1 will expect the new convention from UIOP 3.3.1, that will no longer overwrite the functions from ASDF 3.2.1 and older with backward-incompatible variants. If an old ASDF 3.2.1 or earlier loads a newer UIOP 3.3.1 or later, it will keep using the old functions: the symbols for these functions will be uninterned, but the values for these functions which won't be clobbered anymore. Backward compatibility is a strong requirement not to to break lightly, not even in a subtle way, not even if "nobody else is using it" --- an older version of ASDF is already "somebody else" with respect to UIOP.
-
Francois-Rene Rideau authored
UIOP 3.3.0 loaded on top of an earlier ASDF 3 would cause everything to be spuriously rebuilt, because of a change of representation of stamp< arguments. This test evidences the breakage, and the fix.
-
- 12 Oct, 2017 5 commits
-
-
Francois-Rene Rideau authored
-
Robert Goldman authored
-
Robert Goldman authored
-
Robert Goldman authored
Preserve syntax tables in perform define-op See merge request asdf/asdf!85
-
Francois-Rene Rideau authored
ASDF 3.3.0 introduced an unwanted discrepancy from 3.2.1, whereby the readtable and print-pprint-dispatch table were not preserved while loading a .asd file, which caused bad libraries like puri to try to corrupt the standard readtable when loaded as defsystem-depends-on dependency or equivalent. See bug report on the asdf-devel mailing-list. The real solution is to redo the syntax-control branch.
-
- 08 Oct, 2017 1 commit
-
-
Francois-Rene Rideau authored
-
- 06 Oct, 2017 6 commits
-
-
Robert Goldman authored
-
Robert Goldman authored
-
Robert Goldman authored
-
Robert Goldman authored
-
Francois-Rene Rideau authored
-
Robert Goldman authored
-