1. 20 Mar, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Fold *systems-being-defined* into the *asdf-cache*. · 84e17ea0
      Francois-Rene Rideau authored
      Add regression test for no infinite loop
      when processing asd files that mutually define each other's systems.
      (Prompted by Robert Strandh inquiring about the bug fixed in 2.015.[23]
      after my mentioning an infinite loop in my ASDF3 article.)
      Checked that removing the set-asdf-cache-entry in parse-defsystem triggers the bug.
      84e17ea0
  2. 01 Mar, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Fixes and refactoring of asdf/bundle and uiop/image for ECL. · c52a4f83
      Francois-Rene Rideau authored
      Testing the latest cl-launch with ECL showed massive bitrot in the bundle support for ECL.
      * Make better use of ASDF3's class hierarchy in redefining asdf/bundle,
        by removing and adding the mixins: goodbye bundle-compile-op and monolithic-,
        hello link-op and gather-op. Also, reinstate bundle-system as a class
        to hold prologue and epilogue (but do we need these, now with portable ASDF3 image support?)
      * rename binary-op to deliver-asd-op, same for monolithic-
      * Introduce image-op as a superclass of program-op,
        for dumping an executable image with the regular top-level.
      * Redo the way operation flags are or aren't propagated:
        gather-op explicitly does not pass the flags,
        so toplevel options are for the toplevel build only
        -- though they belong to the system, not the operation.
        Therefore get rid of no-ld-flags-op -- if there are flags to pass,
        they should be passed explicitly in gather-op;
        or more likely, they might be slots in the system, or the plan,
        or special variables for the current session.
        OPERATE tries harder to preserve the original-initargs,
        which are not clobbered by asdf/bundle's initialize-instance anymore.
      * Punt for command-line-arguments on LispWorks,
        so the user has a slight chance of setting them.
      c52a4f83
  3. 28 Feb, 2014 1 commit
  4. 24 Feb, 2014 1 commit
  5. 27 Jan, 2014 2 commits
    • Francois-Rene Rideau's avatar
      More cleanups: · c7d1ce63
      Francois-Rene Rideau authored
      * Add some comments on TRAVERSE-ACTION; expand those on SOURCE-FILE-TYPE.
      * Remove a few unnecessary input-files or output-files methods
      * Remove (declare (ignorable ...)) for specialized arguments. Specialize a few arguments to T.
      * Remove most when-upgrading methods, since we drop data on old incompatible ASDFs.
      c7d1ce63
    • Francois-Rene Rideau's avatar
      Cleanups done or initiated during the ASDF Walkthrough. · f71a8b99
      Francois-Rene Rideau authored
      * load-op needn't be sideway, its sideway dependencies are already provided by prepare-op
      * compile-op should use compile-op (default) not load-op as its downward-operation.
      * no need for an input-files method for prepare-op, nil is the global default.
      * Some documentation for compute-action-stamp.
      * Don't skip upgrade from 1.x on Allegro anymore, since we now correctly punt.
      * Instead of asdf/package:define-package, use the canonical name uiop/package:define-package
      f71a8b99
  6. 26 Jan, 2014 1 commit
  7. 09 Oct, 2013 1 commit
  8. 23 Sep, 2013 1 commit
  9. 09 Jun, 2013 1 commit
  10. 08 Jun, 2013 1 commit
    • Francois-Rene Rideau's avatar
      3.0.1.4: factor MAKE-PLAN out of TRAVERSE. · 5f73d4d7
      Francois-Rene Rideau authored
      For consistency, MAKE-PLAN always returns a plan.
      For backward compatibility, TRAVERSE always returns a list of actions.
      OPERATE now calls MAKE-PLAN, not TRAVERSE anymore.
      Happily, no one in quicklisp defines *useful* methods on TRAVERSE.
      Thanks to foom for suggesting this cleanup.
      5f73d4d7
  11. 15 Mar, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.32.10: Patch a subtle issue causing multiple compilations + more · fefea18b
      Francois-Rene Rideau authored
      If system-a :depends-on (system-c ... system-b) and
      system-b :defsystem-depends-on (system-c), then
      system-c would have been loaded twice, first via the defsystem-depends-on,
      second via the plan for system-a which would have
      included the items from system-c before system-c was loaded.
      
      Also, allow an arbitrary number of qualifiers in inline-methods,
      not just 1 or 0.
      
      On CCL, don't punt on upgrade anymore: all tests are passing.
      
      Make UIOP compile on versions of ASDF older than 2.018.
      
      Finally, yet another tweak for run-program on Allegro on Windows.
      fefea18b
  12. 03 Mar, 2013 1 commit
  13. 27 Feb, 2013 1 commit
  14. 26 Feb, 2013 1 commit
  15. 22 Feb, 2013 1 commit
  16. 18 Feb, 2013 2 commits
  17. 06 Feb, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · d78df051
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      d78df051
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · 1e4bafdb
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      1e4bafdb
  18. 30 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.168: translate-logical-pathname in probe-file*. · decc2a2c
      Francois-Rene Rideau authored
      Had to refactor the asdf-pathname-test by decomposing it into small bits
      before I could understand what was going on.
      Some more robustness in find-system.
      
      Also, no build-report output-file when no *warnings-file-type*,
      and ABL support for build-report.
      
      Deprecate *asdf-verbose*.
      Have *verbose-out* be NIL (which is testable) rather than
      (make-broadcast-stream), which isn't quite, to signal no verbosity.
      That's both more useful while remaining backward-compatible.
      decc2a2c
  19. 29 Jan, 2013 1 commit
  20. 24 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.142: Update the system definitions. · 3abb3e42
      Francois-Rene Rideau authored
      A better asdf.asd.
      
      Refactor the preloaded system mechanism, use it for cl-launch 3.21.2.
      
      Rename bundle-pathname to build-pathname, move it from bundle-system to system.
      
      Rename the gcl<2.7 feature gcl2.6. Die on gcl2.5 and earlier.
      Don't even try to compile-file asdf using gcl 2.6, just load the .lisp.
      
      Rename asdf/compatibility to asdf/common-lisp, exporting only CL symbols.
      Fix define-package to correctly handle exporting of NIL.
      
      Also, make it work with Genera, with #'(lambda instead of (lambda,
      and using lisp:loop (via a macro loop*) when destructuring is required.
      
      Document more 2.27 changes in changelog.
      
      If there is no :pathname and no load-pathname,
      do NOT have a system pathname take defaults from *default-pathname-defaults*,
      but make it NIL.
      3abb3e42
  21. 21 Jan, 2013 1 commit
  22. 20 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.126: debugging ecl, upgrade, etc. · 8ec5317d
      Francois-Rene Rideau authored
      Don't key upgrade attempt on source-registry, since things can also change
      in the central-registry, etc.
      Also rename required-files to direct-dependency-files
      Improve the new convenience function pattern to work with operation initargs.
      Implement getcwd on all platforms.
      Actually catch sb-grovel messages.
      
      Tests: make u l=ecl instead of make test-upgrade lisp=ecl
      Tests: put the setup around the script, not inside;
      Tests: start using globals, much easier for debugging
      8ec5317d
  23. 19 Jan, 2013 1 commit
  24. 18 Jan, 2013 3 commits
    • Francois-Rene Rideau's avatar
      2.26.116: Avoid stepping on symbols used by ASDF 2.26 and earlier · 5f6aabab
      Francois-Rene Rideau authored
      unless we're backward compatible.
      5f6aabab
    • Francois-Rene Rideau's avatar
      2.26.114: import the deferred warnings support from POIU to ASDF-DRIVER. · d8508de1
      Francois-Rene Rideau authored
      Still not used by ASDF itself.
      
      Also, don't use compile-file-pathname after all, it's a bad idea,
      since we may be loading a .asd from within an eval-when during a compile-file,
      but we won't be compiling the .asd.
      d8508de1
    • Francois-Rene Rideau's avatar
      2.26.106: a new primary/secondary convention for subsystems and more · a730852a
      Francois-Rene Rideau authored
      A system named foo/bar will be looked up in a registered file foo.asd.
      This makes it possible to sensibly name several systems in a .asd file
      and still have asdf find them all by name.
      We now use it to not have the asdf header be part of asdf-driver.
      
      A new generic operation build-op makes it possible to deal with
      the fact that the default operation for systems need not be load-op,
      yet that the end-user does not want to have to know the exact operation
      for each of the system he uses.
      
      ensure-pathname has been improved again, and its clients tweaked.
      
      remove-keys was made more sensible by using EQL rather than STRING-EQUAL.
      
      :version need not take the first form in a file, but can take
      a path to a subform. This makes it possible to get the exact subform
      in a Lisp source file that has the string.
      See SUB-OBJECT for how these paths work.
      
      Cleanup of the semantics of ENSURE-FUNCTION on CONSes: use APPLY, not EVAL.
      a730852a
  25. 14 Jan, 2013 1 commit
  26. 13 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.85: more progress · 96cecd29
      Francois-Rene Rideau authored
      Package tweaks to make CLISP complain less.
      run-program/ and run-shell-command fixes and test updates.
      wildening fix to issue found by CLISP.
      ! is used by EXT on CLISP, so use !p for defparameter.
      More pathname madness for allegro.
      Better upgrade.
      96cecd29
    • Francois-Rene Rideau's avatar
      2.26.82: much cleanups and fixes on the driver. · 21594070
      Francois-Rene Rideau authored
      Tests: SBCL passes test-lisp and test-upgrade
      Also:
      * big refactoring of test infrastructure
      * contrib/debug.lisp and (asdf/driver:asdf-debug) for debugging.
      * remove aif and it, use the cleaner if-bind.
      * backtrace support, with improvements from trivial-backtrace.
      * integration of asdf-condition-control (originally from xcvb-driver)
      * simplify the upgrade heuristic: always tries to upgrade once.
        The previous heuristic was too complex with too many failure cases.
        You are thus assumed to want a given version asdf
        if and only if it is in your source-registry.
      21594070
  27. 11 Jan, 2013 3 commits
  28. 10 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.71: Fix obvious breakage on SBCL. · d2bbf816
      Francois-Rene Rideau authored
      Make default-directory a root pathname, remove it from source-registry.
      Have it use lisp-implementation-directory.
      Remove any attempt to use the "current directory".
      Users who want that can still try to
      	(pushnew '*default-pathname-defaults* asdf:*central-registry*)
      
      Rename tmp/ to build/ and move asdf.lisp there. Update asdf.asd.
      Rename implementation.lisp to compatibility.lisp.
      Move *asdf-verbose* and asdf-message to upgrade.lisp
      d2bbf816
  29. 09 Jan, 2013 2 commits
  30. 08 Jan, 2013 1 commit