Skip to content
  1. Jan 11, 2013
  2. Jan 01, 2013
    • Francois-Rene Rideau's avatar
      2.26.46: only do things in-image if needed. · 65be1c38
      Francois-Rene Rideau authored
      This restores the feature of do-first that was lost while refactoring ASDF
      to fix the timestamp propagation issue.
      
      The old asdf-bundle worked implicitly because of do-first:
      fasl-op DEPENDS-ON compile-op, and compile-op has a DO-FIRST on the
      load-op of dependencies, NOT a DEPENDS-ON, so if the compile-op is
      "done" (which did NOT check the timestamps of dependencies),
      then the dofirst is never consulted and load-op is never traversed.
      In our new ASDF, we want to always traverse the load-op of dependencies,
      so we can propagate their timestamps; however, we still want to only
      actually load them if they are needed. Therefore, visiting actions
      takes an additional flag "needed in this image", and each visited action
      can be planned or not planned yet, and a not planned yet action can
      be visited a second time to plan it after recursively visiting its
      dependencies with the "needed" flag set.
      
      Tests were fixed now to work now that this distinction exists.
      65be1c38
  3. Dec 27, 2012
    • Francois-Rene Rideau's avatar
      Test improvements. · c36f9e92
      Francois-Rene Rideau authored
      Be more selective in what warnings get quashed when upgrading ASDF.
      Skip bundle test on ABCL, ECL-bytecodes.
      Sleep more in test1.
      c36f9e92
  4. Dec 15, 2012
    • Francois-Rene Rideau's avatar
      2.26.21: move children dependencies from traverse to component-depends-on, · 45a36620
      Francois-Rene Rideau authored
      where it ought to always have been, based on a properly cleaned up prepare-op
      (previously introduced in 2.26.14 as parent-load-op).
      
      This is a checkpoint of a mostly working system after major changes;
      it requires further cleanup and fixes:
      strangely, fails some tests on CCL but not SBCL.
      
      Introduce find-operation as a companion to find-component,
      subsuming make-sub-operation.
      The results of component-depends-on are processed with find-operation and resolve-component-spec.
      component-self-dependencies is fixed to play well with prepare-op.
      
      Also, some internal renamings and signature changes:
      parent-operation becomes upward-operation
      parent-load-op becomes prepare-op
      parent-source-load op becomes prepare-source-op
      parent-component is distinguished from module
      module-components becomes component-children
      module-components-by-name becomes component-children-by-name
      compute-module-components-by-name becomes compute-children-by-name
      circular-dependency-components becomes circular-dependency-actions
      component-load-dependencies becomes component-sibling-dependencies (with a stub)
      introducing child-component, downward-operation.
      refactoring visit-dependencies to include the loop in which it's always used.
      refactoring force and force-not processing to use a function action-override-p;
      force is achieved with a trivial method on operation-done-p for prepare-op,
      and force-not as a trivial check in visit-action.
      
      Tweak tests along the way. Tweak the documentation.
      
      Failed to either rename operation-error or introduce action-error in its superclasses:
      that breaks sb-grovel.
      45a36620
  5. Apr 22, 2011
  6. Mar 31, 2011
  7. Jun 16, 2010
  8. Apr 30, 2010
  9. Apr 25, 2010
  10. Apr 15, 2010
    • Francois-Rene Rideau's avatar
      1.700: big rewrite of TRAVERSE. · 3a1b88bb
      Francois-Rene Rideau authored
      * split traverse into multiple functions.
      * don't append things all over traverse, use a collector function
      * don't insert and remove prune-op to indicate something needs be done
       even when the collected list is empty... use a boolean flag in all cases.
      * fix the age-old broken :force (system1 ... system2) feature... with a cerror!
      * fix the age-old broken (:feature :foo dependency) feature... with a cerror!
      * tighten :version syntax to only accept the keyword, not any same-named symbol.
      * use hash-tables for O(1) access where linear search was previously used,
       notably in visited-nodes and in components-by-name.
      * use more uniform #+ features for windows.
      * modify defclass to make POIU happier (hopefully).
      * factor probe-asd out of sysdef-source-registry-search and sysdef-central-registry-search
      * fix safe-file-write-date, which I had previously broken when accepting a null pathname.
      * have serial-depends-on only name the previous thing to depend on.
      
      Passes tests on sbcl, clisp, ecl, lispworks, allegro.
      Fails on gclcvs: bind stack overflow. Is that a regression?
      
      small website updates.
      3a1b88bb
  11. Apr 13, 2010
  12. Mar 06, 2010
  13. Feb 06, 2010
  14. Feb 05, 2010
  15. Feb 04, 2010
  16. Dec 18, 2009
  17. Sep 06, 2009
  18. Jul 05, 2008
  19. Jun 13, 2007
  20. Feb 04, 2003
    • Daniel Barlow's avatar
      Rationalise the system-definition-finding machinery a bit. · 60e59ce3
      Daniel Barlow authored
      *central-registry* no longer takes functions (that feature was broken
      anyway), but a new list *system-definition-search-functions*
      does.  Its default content is a single function designator for
      sysdef-central-registry-search, which does the *central-registry*
      search
      
      Update documentation to match
      
      Fix test1.script to call the preferred OPERATE instead of OOS
      
      Update documentation to describe COMPONENT-PROPERTY method
      60e59ce3
  21. Nov 08, 2002
    • Daniel Barlow's avatar
      · d8bd7cfb
      Daniel Barlow authored
      shouldn't do global proclamations, that's bad karma (reported by Gary Byers)
      
      modules maybe now can have no components (Matthew Danish, SF bug id 625738)
      (added an :initform nil, haven't actually tested)
      
      significant reworking to handle recompilation of dependencies properly
       - use of component properties for last-compiled/last-loaded is gone
       - new internal gf INPUT-FILES (COMPONENT OPERATION)
       - TRAVERSE doesn't actually perform anything, but it now has a defined
         return value: a list of the ops and components that need doing.
         OPERATE loops over answers from TRAVERSE
       - intended to have no user-visible effects, but ICBW!
         May break existing systems!
       - still doesn't do cross-module dependencies properly, sigh.  but we're
         closer
       - default output-files method now returns NIL instead of causing an error
      d8bd7cfb
  22. Feb 20, 2002