1. 23 May, 2017 3 commits
    • Deprecate require-system · d3ce9760
      Francois-Rene Rideau authored
    • Replace *defined-systems* by *registered-systems* · a5345448
      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.
      Francois-Rene Rideau authored
    • Move node visit information from plan to session · aba8811b
      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.
      Francois-Rene Rideau authored
  2. 07 Dec, 2016 1 commit
    • Support for notification that some functions are deprecated. · c1652787
      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.
      Francois-Rene Rideau authored
  3. 25 Nov, 2016 1 commit
  4. 16 Oct, 2016 1 commit
    • Stop fmakunbound'ing defgeneric's past the upgrade trigger · 8e0ec0e9
      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
      Francois-Rene Rideau authored
  5. 05 Oct, 2016 2 commits
    • Remove operation-forced altogether · 545ab9ff
      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.
      Francois-Rene Rideau authored
    • Have operation-forced be constantly nil, not t · a52afa09
      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.
      Francois-Rene Rideau authored
  6. 25 Sep, 2016 2 commits
    • Move EXPLAIN to backward-interface. · ba041345
      Francois-Rene Rideau authored
    • Simplify operation-forced · 22865e39
      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.)
      Francois-Rene Rideau authored
  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
    • More cleanups: · c7d1ce63
      * 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.
      Francois-Rene Rideau authored
    • Cleanups done or initiated during the ASDF Walkthrough. · f71a8b99
      * 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
      Francois-Rene Rideau authored
  12. 11 Nov, 2013 1 commit
  13. 12 Oct, 2013 1 commit
  14. 28 Sep, 2013 1 commit
    • Another reimplementation of run-program. New: · 4caf0cc7
      * 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)
        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
      Francois-Rene Rideau authored
  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
    • 2.32.13: fix dependency issues for monolithic-fasl-op · c0a814bd
      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.
      Francois-Rene Rideau authored
  20. 06 Feb, 2013 2 commits
    • 2.28.1: various upgrade issues · d78df051
      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 #+.
      Francois-Rene Rideau authored
    • 2.28.1: various upgrade issues · 1e4bafdb
      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 #+.
      Francois-Rene Rideau authored
  21. 31 Jan, 2013 1 commit
    • 2.26.171: More backward compatibility. · 3689ff49
      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*.
      Francois-Rene Rideau authored
  22. 30 Jan, 2013 1 commit
    • 2.26.168: translate-logical-pathname in probe-file*. · decc2a2c
      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.
      Francois-Rene Rideau authored
  23. 28 Jan, 2013 1 commit
    • 2.26.157: speed up pathname operations. · 6876bde3
      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.
      Francois-Rene Rideau authored
  24. 27 Jan, 2013 3 commits
  25. 26 Jan, 2013 2 commits
  26. 24 Jan, 2013 1 commit
    • 2.26.142: Update the system definitions. · 3abb3e42
      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.
      Francois-Rene Rideau authored
  27. 21 Jan, 2013 1 commit
    • 2.26.137: API cleanup in preparation for release · 2c31e053
      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.
      Francois-Rene Rideau authored
  28. 19 Jan, 2013 1 commit
  29. 16 Jan, 2013 2 commits
    • 2.26.102: fix issues on ECL, maybe CLISP too, improve version bumper. · 6782f5eb
      Move things around and rename functions to improve backward compatibility.
      The driver now has its own backward-compatibility file.
      Francois-Rene Rideau authored
    • 2.26.100: checkpointing a lot of progress. · aa5cba5d
      * 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.
      Francois-Rene Rideau authored
  30. 14 Jan, 2013 1 commit