1. 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
  2. 20 Sep, 2016 1 commit
  3. 15 Sep, 2016 1 commit
  4. 25 May, 2016 1 commit
  5. 07 Mar, 2016 1 commit
  6. 18 Nov, 2015 1 commit
  7. 17 Nov, 2015 1 commit
    • Francois-Rene Rideau's avatar
      uiop: gut the last wrapping in make-pathname* · 08095fe1
      Francois-Rene Rideau authored
      I initially introduced all that make-pathname* madness on the road to
      ASDF 2.27, back when I was trying to normalize pathname components so
      I may have pathname-indexed entries in the asdf-cache (to minimize
      costly filesystem access from file-write-date and such, that could
      also introduce inconsistency in the build plan).
      
      Problem is, there was no good way (even non-portable) to normalize
      pathnames in a way that works when you use all of parse-namestring,
      make-pathname, directory, probe-file, translate-logical-pathname,
      merge-pathnames, etc. In the end (as late as b4dc78de, before 3.0.2.13!),
      I conceded defeat, for it was an uphill battle, and instead asdf-cache
      is indexing things using namestrings instead, which is more stable (see
      asdf/cache:normalize-namestring).
      
      The hacks in make-pathname* are therefore not needed anymore,
      and the function can be done away with.
      
      This commit guts the contents of make-pathname* and marks it deprecated.
      Just use make-pathname instead. It also updates uiop and asdf to not
      use make-pathname* but make-pathname. Some future commits may move it to
      backward-driver and eventually start issuing warnings of some sort when
      it's used.
      08095fe1
  8. 30 Aug, 2015 1 commit
  9. 28 Apr, 2015 1 commit
  10. 14 Apr, 2015 1 commit
  11. 12 Mar, 2015 1 commit
  12. 23 Sep, 2014 1 commit
  13. 04 Sep, 2014 1 commit
  14. 10 Jul, 2014 1 commit
  15. 09 Jul, 2014 1 commit
  16. 21 Mar, 2014 1 commit
  17. 17 Mar, 2014 1 commit
  18. 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
  19. 19 Dec, 2013 1 commit
  20. 11 Nov, 2013 1 commit
  21. 09 Oct, 2013 1 commit
  22. 26 Jun, 2013 1 commit
  23. 19 Feb, 2013 1 commit
  24. 18 Feb, 2013 1 commit
  25. 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
  26. 01 Feb, 2013 1 commit
  27. 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
  28. 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
  29. 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
  30. 21 Jan, 2013 1 commit
  31. 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
  32. 18 Jan, 2013 3 commits
    • Francois-Rene Rideau's avatar
      2.26.119: conditionalize all truenaming on *resolve-symlinks*. · 072692f1
      Francois-Rene Rideau authored
      jyknight will be happy. Passes test, when still resolving.
      072692f1
    • Francois-Rene Rideau's avatar
      98127ec8
    • Francois-Rene Rideau's avatar
      2.26.106: a new primary/secondary convention for subsystems and more · a730852a
      Francois-Rene Rideau authored
      A system named foo/bar will be looked up in a registered file foo.asd.
      This makes it possible to sensibly name several systems in a .asd file
      and still have asdf find them all by name.
      We now use it to not have the asdf header be part of asdf-driver.
      
      A new generic operation build-op makes it possible to deal with
      the fact that the default operation for systems need not be load-op,
      yet that the end-user does not want to have to know the exact operation
      for each of the system he uses.
      
      ensure-pathname has been improved again, and its clients tweaked.
      
      remove-keys was made more sensible by using EQL rather than STRING-EQUAL.
      
      :version need not take the first form in a file, but can take
      a path to a subform. This makes it possible to get the exact subform
      in a Lisp source file that has the string.
      See SUB-OBJECT for how these paths work.
      
      Cleanup of the semantics of ENSURE-FUNCTION on CONSes: use APPLY, not EVAL.
      a730852a
  33. 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
  34. 14 Jan, 2013 3 commits
    • Francois-Rene Rideau's avatar
      2.26.95: more frobbing of the runtime support · 3d3b65d4
      Francois-Rene Rideau authored
      Settle on "restore-image" and "dump-image" for our API names.
      Unbreak match-condition-p and move it to utility,
      give static scoping to the generic muffler,
      rename the compiler and loader mufflers.
      Fix with-input.
      Remove crud from script-support.
      3d3b65d4
    • 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