asdf merge requestshttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests2017-04-03T10:00:32Zhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/65Simplify %normalize-system-command2017-04-03T10:00:32ZFrançois-René RideauSimplify %normalize-system-commandChanges in launch-program command normalization make
some of the complexity in %normalize-system-command redundant.Changes in launch-program command normalization make
some of the complexity in %normalize-system-command redundant.3.2.1Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/63Getenv-pathnames nil2017-04-03T10:00:33ZFrançois-René RideauGetenv-pathnames nilFix an issue whereby getenv-pathnames returns NIL for empty entries, and we must remove them.
Also, use p-e and n-i-e in UIOP.Fix an issue whereby getenv-pathnames returns NIL for empty entries, and we must remove them.
Also, use p-e and n-i-e in UIOP.3.2.1Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/62Add sbcl win32 feature test for run-program string2017-04-03T10:00:33ZFrançois-René RideauAdd sbcl win32 feature test for run-program string3.2.1Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/71Revert "Add clasp support to launch-program"2017-04-13T23:36:53ZFrançois-René RideauRevert "Add clasp support to launch-program"This reverts commit b3622011da5ed496233003f7f7ae76099c63ff5b.
The commit was based on the wrong assumption that terminate-process would kill
a Unix thread (a la pthread_create) rather than subprocess (a la fork+execve).This reverts commit b3622011da5ed496233003f7f7ae76099c63ff5b.
The commit was based on the wrong assumption that terminate-process would kill
a Unix thread (a la pthread_create) rather than subprocess (a la fork+execve).3.3.0Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/59Link objects only2017-05-05T16:27:25ZFrançois-René RideauLink objects onlyTrying to address https://bugs.launchpad.net/asdf/+bug/1647391 — I need @dkochmanski to comment on whether this is the proper solution. Also whether even for linking an image we should avoid using .a's instead of .o's (I still kept that ...Trying to address https://bugs.launchpad.net/asdf/+bug/1647391 — I need @dkochmanski to comment on whether this is the proper solution. Also whether even for linking an image we should avoid using .a's instead of .o's (I still kept that for now).3.2.0Daniel KochmańskiDaniel Kochmańskihttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/34No operation initargs2017-05-05T16:27:25ZFrançois-René RideauNo operation initargsThis MR build upon !33 and wholly eliminate the non-sensical and unsupported initargs to operation.
A casualty is `make-build`, as inherited from asdf-ecl (2005 era) and apparently still used by ECL. @dkochmanski will be pissed, but h...This MR build upon !33 and wholly eliminate the non-sensical and unsupported initargs to operation.
A casualty is `make-build`, as inherited from asdf-ecl (2005 era) and apparently still used by ECL. @dkochmanski will be pissed, but he'll have to learn about using `program-op` and `program-system` instead — which are supported (and using secondary systems, if for some reason he doesn't want to use `program-system` with primary systems). While we're pissing off @dkochmanski, I'm also removing the trivial and useless function `build-system` in the same directory.
@epipping I don't think you're interested in reviewing defsystem changes, so I'm assigning directly to @rgoldman for review.
@rgoldman considering the controversy, you may want to either merge fast before next release and be done with it, or make an announcement at this release and do it for the next release, which lets the wound fester longer, but gives more time for users to adapt (assuming there's more than a single one, which is not that obvious).
Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/26Skip a test that randomly fails on MKCL2017-05-05T16:27:25ZElias PippingSkip a test that randomly fails on MKCLThis part of test-force was only added after 3.1.7.16 and marked as an
expected failure on MKCL even before 3.1.7.18.This part of test-force was only added after 3.1.7.16 and marked as an
expected failure on MKCL even before 3.1.7.18.3.2.0Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/21Fix require some more2017-05-05T16:27:25ZFrançois-René RideauFix require some moreThis replaces !20 with a new branch name, to account for the widening in purpose.This replaces !20 with a new branch name, to account for the widening in purpose.Elias PippingElias Pippinghttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/16Fix require system function2017-05-05T16:27:25ZFrançois-René RideauFix require system functionThis is my alternative to !13
Many thanks to @dkochmanskiThis is my alternative to !13
Many thanks to @dkochmanskiElias PippingElias Pippinghttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/73Deferred warnings read eval2017-05-23T13:44:24ZFrançois-René RideauDeferred warnings read evalSee yesterday's email thread on sbcl-devel (2017-05-23):
https://sourceforge.net/p/sbcl/mailman/sbcl-devel/thread/CAE4vfcLOFiybVQ5fbmCEkWeBf2Rt-345jiv5axcDHbbiVbJbPQ%40mail.gmail.com/#msg35853885See yesterday's email thread on sbcl-devel (2017-05-23):
https://sourceforge.net/p/sbcl/mailman/sbcl-devel/thread/CAE4vfcLOFiybVQ5fbmCEkWeBf2Rt-345jiv5axcDHbbiVbJbPQ%40mail.gmail.com/#msg35853885Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/74Fix typo in UIOP README2017-07-06T23:18:03ZRommel MARTINEZFix typo in UIOP READMEhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/37Add support for proper phase separation2017-07-30T17:02:44ZFrançois-René RideauAdd support for proper phase separationAdd support for proper phase separation
Correctly handle incremental builds in cases where operate can be called while loading a .asd file, especially as part of a defsystem-depends-on declaration.
If a defsystem-depends-on depende...Add support for proper phase separation
Correctly handle incremental builds in cases where operate can be called while loading a .asd file, especially as part of a defsystem-depends-on declaration.
If a defsystem-depends-on dependency is out of date, re-load all needed .asd file that depend on it. But if a file is compiled or loaded in one of those nested calls to operate, don't perform the action twice.
Rename cache.lisp to session.lisp and move parts of plan.lisp to session.lisp and a new file forcing.lisp, to support the notion of a session made of several phases of operate(plan-then-perform). Split system-registry.lisp off of find-system.lisp.
Refine the notion of action status within a session: a stamp and three bits KEEP (from previous session), DONE (and up-to-date in this image), NEED (for the session's goal).
Backward incompatible change in internal APIs: uiop stamps now have NIL for +infinity and T for -infinity. No one in Quicklisp uses it, but just in case, it must be noted.3.3.0Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/77Fix a warning for LispWorks on windows2017-09-01T17:47:25ZElias PippingFix a warning for LispWorks on windowsThis warning causes the test suite not to compile -- an issue
that was reported by Chun Tian (user binghe on github).This warning causes the test suite not to compile -- an issue
that was reported by Chun Tian (user binghe on github).Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/78LispWorks: Document logic behind the process field2017-09-02T08:46:18ZElias PippingLispWorks: Document logic behind the process fieldhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/79Fix process-alive-p on upcoming ECL release2017-09-11T11:50:46ZElias PippingFix process-alive-p on upcoming ECL releaseSee also https://gitlab.com/embeddable-common-lisp/ecl/issues/273See also https://gitlab.com/embeddable-common-lisp/ecl/issues/273Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/80Improve %process-status2017-09-14T11:38:59ZElias PippingImprove %process-statushttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/85Preserve syntax tables in perform define-op2017-10-12T18:08:44ZFrançois-René RideauPreserve syntax tables in perform define-opASDF 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 w...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.Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/88Extend the set of versions from which to test upgrade2017-10-22T22:40:10ZFrançois-René RideauExtend the set of versions from which to test upgradeA 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.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.3.3.1Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/75Best practices: add table of contents2017-10-27T15:10:29ZRommel MARTINEZBest practices: add table of contentshttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/87Rename stamp to timestamp in uiop/utility2017-11-12T21:05:31ZFrançois-René RideauRename stamp to timestamp in uiop/utilityRestore 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 +...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.3.3.1Robert GoldmanRobert Goldman