1. 23 May, 2017 3 commits
    • Francois-Rene Rideau's avatar
      Deprecate require-system · d3ce9760
      Francois-Rene Rideau authored
      d3ce9760
    • Francois-Rene Rideau's avatar
      Replace *defined-systems* by *registered-systems* · a5345448
      Francois-Rene Rideau authored
      Use a simple table *registered-systems* mapping name to system,
      and remember timestamps in the COMPONENT-OPERATION-TIME for DEFINE-OP,
      instead of the original *defined-systems* table mapping name to
      cons of timestamp and system.
      a5345448
    • Francois-Rene Rideau's avatar
      Move node visit information from plan to session · aba8811b
      Francois-Rene Rideau authored
      Significantly refactor plan internals.
      
      Move visited-actions, visiting-action-set, visiting-action-list,
      total-action-count, planned-action-count, planned-output-action-count
      from plan to session (remove the plan- prefix to accessors).
      
      Move sysdef-error from component to session.
      
      Remove plan as a parameter of action-valid-p (made simple defun)
      and while-visiting-action (both moved to action), but also
      map-direct-dependencies, reduce-direct-dependencies, direct-dependencies.
      
      Rename *default-plan-class* to *plan-class*,
      plan-record-dependency to record-dependency,
      plan-action-status to action-status
      plan-forced (accessor) to forced, plan-forced-not (accessor) to forced-not.
      
      Introduce define-op, and visit a suitable action while loading an asd file.
      Accumulate inner operate dependencies in a slot definition-dependencies of
      a registered system or a newly registered undefined-system.
      
      Introduce reset-session or reset-session-visited in various tests,
      so operations aren't considered as layered atop each other, but
      as restarting from a fresh planning session.
      
      Use with-asdf-session in required-components, make-plan.
      
      Stop using node-for, use cons directly, now that operations are safe.
      
      Export format-action from action.
      
      Move some conditions and generic functions around and reorder dependencies.
      aba8811b
  2. 07 Dec, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Support for notification that some functions are deprecated. · c1652787
      Francois-Rene Rideau authored
      Deprecation goes through the following phases:
      style-warning, warning, cerror, functionality removed.
      Automatically upgrade the deprecation phase at every minor version change
      (not every release).
      
      Include minimal testing of the deprecation functionality.
      Add deprecation TODO items.
      
      Deprecation will start with 3.2.
      c1652787
  3. 25 Nov, 2016 1 commit
  4. 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
  5. 05 Oct, 2016 2 commits
    • Francois-Rene Rideau's avatar
      Remove operation-forced altogether · 545ab9ff
      Francois-Rene Rideau authored
      It was never exported or officially supported. Only SLIME was (ab)using it,
      and even cheating it was failing at its purpose.
      In gitlab merge request !33 Robert Goldman decided to just get rid of it.
      SLIME users, if you use swank.asd, please update your SLIME from git.
      545ab9ff
    • Francois-Rene Rideau's avatar
      Have operation-forced be constantly nil, not t · a52afa09
      Francois-Rene Rideau authored
      As of 2016-10-01, SLIME doesn't actually want to be reloaded, and dies badly
      when swank-loader:init is called with :delete t. So have operation-forced
      return constantly nil instead of constantly t.
      a52afa09
  6. 25 Sep, 2016 2 commits
    • Francois-Rene Rideau's avatar
      Move EXPLAIN to backward-interface. · ba041345
      Francois-Rene Rideau authored
      ba041345
    • Francois-Rene Rideau's avatar
      Simplify operation-forced · 22865e39
      Francois-Rene Rideau authored
      Don't use operation-original-initargs in operation-forced.
      operation-original-initargs is deprecated, and so is operation-forced.
      The only, misguided, user of operation-forced is swank.asd,
      which conditionally loads the code only if the operation is forced;
      but the perform method that does the check will only be called twice
      if the operation is forced, anyway, so the correct answer is T.
      (And the first time around, it's OK to return T, too.)
      22865e39
  7. 21 Sep, 2016 1 commit
  8. 20 Sep, 2016 1 commit
  9. 11 Sep, 2016 1 commit
  10. 12 Mar, 2015 1 commit
  11. 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
  12. 11 Nov, 2013 1 commit
  13. 12 Oct, 2013 1 commit
  14. 28 Sep, 2013 1 commit
    • Francois-Rene Rideau's avatar
      Another reimplementation of run-program. New: · 4caf0cc7
      Francois-Rene Rideau authored
      * it handles INPUT and ERROR-OUTPUT, not just OUTPUT.
      * it accepts PATHNAMEs as I/O designators
      * it works on ECL under SLIME (fixes lp#1232225)
      * SLIGHT API CHANGE!
        At the suggestion of stassats, we're always returning an exit code,
        and in a predictable return value position.
        However, both for backward compatibility and usability,
        the OUTPUT slurping results remain the primary return value,
        followed by the ERROR-OUTPUT slurping results, followed by the exit code.
        So far, no one was using multiple values in SLURP-INPUT-STREAM methods,
        so no one will regret that, except people who might have somehow expected
        the old weird behavior of a return code when OUTPUT is NIL or :INTERACTIVE.
      * As another API tweak and improvement, keyword options are now specified
        separately for each of your I/O designators, by putting them your designator
        in a list. A list also distinguishes a string as input from a namestring
        to designate a pathname, i.e. :input '("bar") is the string literal,
        whereas :input "bar" is the file named bar.
      
      Several fixes and extensions to stream support.
      
      Only tested so far on Linux x64 with
      ccl clisp sbcl ecl ecl_bytecodes cmucl abcl allegro allegromodern xcl
      4caf0cc7
  15. 09 Jun, 2013 1 commit
  16. 22 May, 2013 1 commit
  17. 04 May, 2013 1 commit
  18. 17 Apr, 2013 1 commit
  19. 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
  20. 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
  21. 31 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.171: More backward compatibility. · 3689ff49
      Francois-Rene Rideau authored
      Reinstantiate the component-property interface, for backward-compatibility.
      
      Also for backward compatibility, be ready to survive missing warnings-file;
      CFFI notably fails to use compile-file*.
      3689ff49
  22. 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
  23. 28 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.157: speed up pathname operations. · 6876bde3
      Francois-Rene Rideau authored
      Optimize probe-file* in the case we do not care for truename.
      Have truenamize iterate from pathname up to root rather than the other way,
      to minimize the number of calls to truename.
      Refactor pathname absolutization.
      Shuffle functions around os, pathname, stream.
      Shuffle functions around common-lisp, utility.
      Remove root-pathname and sane-physical-pathname.
      6876bde3
  24. 27 Jan, 2013 3 commits
  25. 26 Jan, 2013 2 commits
  26. 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
  27. 21 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.137: API cleanup in preparation for release · 2c31e053
      Francois-Rene Rideau authored
      Rename RUN-PROGRAM/ to RUN-PROGRAM.
      Can't export it from ASDF because it causes a clash in SB-GROVEL.
      
      Rename SUB-OBJECT and :PATH to ACCESS-AT and :AT.
      
      Get rid of TRANSLATE-OUTPUT-P.
      Instead, check whether the component's BUILD-OPERATION
      is the same as the current operation.
      2c31e053
  28. 19 Jan, 2013 1 commit
  29. 16 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.102: fix issues on ECL, maybe CLISP too, improve version bumper. · 6782f5eb
      Francois-Rene Rideau authored
      Move things around and rename functions to improve backward compatibility.
      The driver now has its own backward-compatibility file.
      6782f5eb
    • 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
  30. 14 Jan, 2013 1 commit