1. 21 Jan, 2014 3 commits
    • Robert P. Goldman's avatar
    • Robert P. Goldman's avatar
      Raise a continuable error when instantiating an unpatched OPERATION. · 8fa22cd5
      Robert P. Goldman authored
      The behavior of OPERATION has changed: previously it would act roughly like
      LOAD-OP, and automatically have dependencies, but now that behavior has been
      removed in a clean-up. In order to support programmers, we attempt to detect
      programmer-defined OPERATION subclasses and signal an error if we believe they
      are unpatched.
      
      The new dependency-handling is implemented in the classes DOWNWARD-OPERATION,
      UPWARD-OPERATION, SIDEWAY-OPERATION, SELFWARD-OPERATION, and the newly-added
      NON-PROPAGATING-OPERATION.
      
      To detect unpatched OPERATION classes, when we are instantiating an OPERATION,
      we check to make sure it has one of the above classes as a superclass.  If it
      does not, we raise a continuable error.  This is done in an INITIALIZE-INSTANCE
      :BEFORE method on OPERATION. We considered trying to detect the definition of
      OPERATION subclasses, but because the MOP is not standard, that approach was
      rejected as infeasible.
      
      Add NON-PROPAGATING-OPERATION as superclass where needed.
      
      Further checks and some documentation.
      
      Thanks to Fare for advice.
      
      Check that no OPERATION is both propagating and non-propagating.
      
      Thanks to Fare for the suggestion.
      8fa22cd5
    • Robert P. Goldman's avatar
      Method for detecting code which needs to be patched for new OPERATIONs. · 32dad5ee
      Robert P. Goldman authored
      Added INITIALIZE-INSTANCE that checks for operations that have no
      specified dependency propagations.
      Also added NON-PROPAGATING-OPERATION as a way to specify that an
      OPERATION subclass /intentionally/ performs no dependency propagation.
      32dad5ee
  2. 09 Jan, 2014 1 commit
  3. 08 Jan, 2014 1 commit
  4. 07 Jan, 2014 4 commits
  5. 09 Oct, 2013 1 commit
  6. 09 Jun, 2013 1 commit
  7. 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
  8. 17 Mar, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.32.13: fix dependency issues for monolithic-fasl-op · c0a814bd
      Francois-Rene Rideau authored
      Rename sibling-operation sideway-operation,
      sibling-dependencies sideway-dependencies.
      No one in quicklisp was using the old name.
      Introduce selfward-operation for the common pattern.
      
      Have a prepare-fasl-op to gracefully propagate fasl-op.
      
      Reset component-depends-on when upgrading.
      
      Refactor concatenate-source-op in a likewise fashion.
      c0a814bd
  9. 03 Mar, 2013 1 commit
  10. 22 Feb, 2013 1 commit
  11. 06 Feb, 2013 4 commits
    • Francois-Rene Rideau's avatar
      2.28.3: make the recent EVAL-WHEN non-sense work on LispWorks. · e05485f3
      Francois-Rene Rideau authored
      Also, decouple with-muffled-compiler-condtions from with-saved-deferred-warnings.
      e05485f3
    • 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.3: make the recent EVAL-WHEN non-sense work on LispWorks. · 26e7a4f3
      Francois-Rene Rideau authored
      Also, decouple with-muffled-compiler-condtions from with-saved-deferred-warnings.
      26e7a4f3
    • 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
  12. 31 Jan, 2013 1 commit
  13. 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
  14. 29 Jan, 2013 1 commit
  15. 27 Jan, 2013 4 commits
    • Francois-Rene Rideau's avatar
      2.26.154: cache builtin-system-p for a big speedup. · 56d84e7a
      Francois-Rene Rideau authored
      We were checking it all the time in forced-p.
      Also cache nil-pathname and root-pathname.
      56d84e7a
    • Francois-Rene Rideau's avatar
      2.26.153: Various speed ups. · 1f4d6fec
      Francois-Rene Rideau authored
      Between 2.26 and 2.26.152, ASDF had gotten ~37 times slower at traversing iolib.
      Now trying to restore some performance.
      
      This commit:
      1- generalizes the cache to cover input-files and output-files as well as get-file-stamp.
      2- removes the probe-file before file-write-date.
      1f4d6fec
    • Francois-Rene Rideau's avatar
    • Francois-Rene Rideau's avatar
      2.26.149: next release will be ASDF 3 after all, not ASDF 2.27. · 0f685693
      Francois-Rene Rideau authored
      Introduce some backward incompatibility with features unused in quicklisp:
      * Don't create a temporary package every time you load a .asd;
       instead, load everything from same package ASDF-USER,
       that :use's asdf/common-lisp asdf/package asdf/interface
       That's the Common Lisp way, what with COMMON-LISP-USER.
       If you want a private package, use DEFPACKAGE or DEFINE-PACKAGE.
      * operation-description is renamed action-description.
       No one was using it in quicklisp, and no one was specializing it
       except cl-protobufs, which I'll fix.
      * component-properties and component-property are gone.
       If you want a new property, create your own subclass of component.
      
      Also, have a load-asd function with name in keyword arguments,
      rather than load-sysdef function that requires the name.
      0f685693
  16. 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
  17. 21 Jan, 2013 2 commits
  18. 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
  19. 19 Jan, 2013 3 commits
  20. 18 Jan, 2013 4 commits
  21. 16 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.100: checkpointing a lot of progress. · aa5cba5d
      Francois-Rene Rideau authored
      * Pathname support has been cleaned up, yet again,
       extending and renaming COERCE-PATHNAME into PARSE-UNIX-NAMESTRING,
       also ENSURE-PATHNAME, many docstrings, and plenty of small enhancements.
      * Bundles were refactored to take advantage of the new, more sensible,
       component-depends-on semantics.
      * Image support was cleaned up again, and program-op was implemented
       to produce a standalone executable on supported platforms;
       a working hello-world-example is included amongst tests.
      * The *compile-file-function* indirection was removed, with the
       ECL and MKCL object file support
       being folded into compile-file* instead.
      * systems now can have NIL as component-pathname,
       instead of providing a non-sensible bogus pathname
       when no sensible pathname was determined.
       Most of our pathname functions have sensible default behavior
       when provided NIL instead of a pathname as an argument.
      aa5cba5d
  22. 14 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.94: Yet another package cleanup. Debug the test scripts. · eef7278f
      Francois-Rene Rideau authored
      Package cleanup: every file in asdf itself now :use's asdf/driver asdf/upgrade.
      Test script fix:
      Allegro, like ECL *really* hates that we close *standard-input*,
      so stop trying at all.
      Tweak some utilities and debug utilities.
      eef7278f
    • Francois-Rene Rideau's avatar
      2.26.93: play nicer with packages, notably for Allegro and CLISP · c534ca65
      Francois-Rene Rideau authored
      On Allegro, frob the autoload earlier and intern the gethostname later
      so we don't unnecessarily autoload stuff.
      
      On CLISP, don't undefine functions, just unintern everything in the beginning,
      and it won't complain about disappearing methods anymore.
      
      Also, only retrigger the upgrade attempt on source-registry change
      if ASDF was not upgraded yet. This avoids unnecessary reloading of ASDF.
      
      Finally, be sure to share more symbols between everyone - hopefully,
      all the symbols that were used in ASDF and got recycled.
      Slot names are a big one, notably.
      c534ca65