1. 26 Nov, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Get fully rid of operation initargs · 6bb7aa6b
      Francois-Rene Rideau authored
      ASDF never supported operation initargs, and its component-operation-times
      always assumed that two operations of the same class were equivalent.
      Make it explicitly so and enforce it.
      
      Do NOT pass keys from operate to make-instance operation.
      Catch any attempt to create an operation with initargs and raise an error.
      Make sure no operation class has any slot that isn't :allocation :class
      (with some MOP magic we could do it in at class definition time,
      but that's not portable enough and we don't want to reimplement closer-mop
      or depend on it.)
      
      This is a preliminary to allowing CONS instead of NODE-FOR to identify actions,
      whether or not we want to allow some form of initargs in the future.
      
      Remove unused COMPILE-OP-FLAGS and COMPILE-OP-PROCLAMATIONS.
      Remove MAKE-BUILD that depended on the unsupported operation initargs.
      Use PROGRAM-OP on a PROGRAM-SYSTEM instead.
      Remove the confusingly misnamed and not-so-useful BUILD-SYSTEM function;
      it can be done better in userland.
      6bb7aa6b
  2. 11 Nov, 2016 1 commit
    • Robert Goldman's avatar
      Add pseudo-accessors to ACTIONs. · bbf1914a
      Robert Goldman authored
      ACTIONs are currently simply CONS cells.
      Previously these were accessed with CAR and CDR and made with CONS.
      Now there are "accessor" functions, ACTION-OPERATOR and
      ACTION-COMPONENT.  Also MAKE-ACTION.
      The intention is to make the ASDF code more readable.
      bbf1914a
  3. 31 Oct, 2016 1 commit
  4. 29 Oct, 2016 1 commit
    • Robert Goldman's avatar
      Enforce use of MAKE-OPERATION. · 1e3471c6
      Robert Goldman authored
      Check for and reject attempts to directly invoke MAKE-INSTANCE on
      OPERATION classes.
      Add a test for the error condition.
      Squashed commit of the ENFORCE-MAKE-OPERATION branch.
      1e3471c6
  5. 16 Oct, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Stop fmakunbound'ing defgeneric's past the upgrade trigger · 8e0ec0e9
      Francois-Rene Rideau authored
      If we fmakunbound a defgeneric, we lose any user-defined method on the function
      and must therefore reload any and every system that might have defined methods
      on it. We must therefore not fmakunbound past the forward compatibility upgrade
      trigger, only before. Adjust our code accordingly. Conservative bounds are used
      in *oldest-forward-compatible-asdf-version* and redefined-functions that should
      probably be refined after some inspection of old versions.
      
      This is a response to https://bugs.launchpad.net/asdf/+bug/1631771
      8e0ec0e9
  6. 25 Sep, 2016 2 commits
  7. 21 Sep, 2016 1 commit
  8. 20 Sep, 2016 1 commit
  9. 10 Jan, 2016 1 commit
  10. 08 Jan, 2016 1 commit
  11. 24 Mar, 2014 2 commits
  12. 14 Mar, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Accept strings as OPERATION class designators, read in package ASDF. · 50f2420f
      Francois-Rene Rideau authored
      Refactor COMPONENT class designators to use the same general method.
      As a substrate, goodbye uiop/utility:find-class*, hello uiop/utility:coerce-class.
      
      In the operate upgrade handler, assume there is
      no uninterning and renaming packages away anymore going forward.
      
      Add tests for strings as class designators using defsystem-depends-on.
      50f2420f
  13. 13 Mar, 2014 1 commit
  14. 28 Feb, 2014 1 commit
  15. 23 Feb, 2014 1 commit
  16. 18 Feb, 2014 1 commit
  17. 12 Feb, 2014 1 commit
  18. 31 Jan, 2014 1 commit
  19. 27 Jan, 2014 4 commits
    • Francois-Rene Rideau's avatar
      Make build-op a non-propagating-operation. · 888c6fd1
      Francois-Rene Rideau authored
      Paper over GCL failure in test-operation-classes; tweak test.
      Tweak Makefile for one more test.
      888c6fd1
    • 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
      Implement the discussed non-monotonic inheritance of propagation traits. · eb2da723
      Francois-Rene Rideau authored
      For backward compatibility with ASDF 2, an operation that doesn't explicitly
      inherit from one of the propagation classes or non-propagating-operation
      will be downward- and sideway- propagating, with a warning at instantiation.
      Inheriting from non-propagating and a propagating class at the same time
      yields an error, not a warning.
      Update packages and tests.
      eb2da723
    • 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
  20. 26 Jan, 2014 1 commit
  21. 21 Jan, 2014 5 commits
    • Robert P. Goldman's avatar
      0e20656a
    • Robert P. Goldman's avatar
      Fixed bug in error signaling. · cfa50ffd
      Robert P. Goldman authored
      cfa50ffd
    • 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
  22. 09 Jan, 2014 1 commit
  23. 08 Jan, 2014 1 commit
  24. 07 Jan, 2014 4 commits
  25. 09 Oct, 2013 1 commit
  26. 09 Jun, 2013 1 commit
  27. 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
  28. 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