- Mar 17, 2014
-
-
Francois-Rene Rideau authored
-
- Jan 27, 2014
-
-
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
-
- Jan 21, 2014
-
-
Robert P. Goldman authored
-
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.
-
- Jan 08, 2014
-
-
Francois-Rene Rideau authored
(I suppose the reason it isn't is because that would make for complex decision rules in case of conflicted multiple inheritance)
-
- Oct 23, 2013
-
-
Francois-Rene Rideau authored
This is quick-build compatible and fixes lp#1230368. To use package-system, just have foo.asd containing (defsystem foo :class package-system) at the top of your quick-build hierarchy $FOODIR for packages whose name start with "FOO/" and ASDF will thereafter look for system "foo/bar/baz" in $FOODIR/bar/baz.lisp. Such a file will implicitly have its own system defined; its dependencies are computed by scanning the file, extracting its first defpackage form, and using the packages it uses or imports from as a as a specification of what systems it depends on. You can register packages as belonging to a system with (asdf:register-system-packages my-system '(package1 package2)) Using or importing from a package registered to a given system will generate a dependency to the registered system. Using or importing from a packages registered to the constant symbol T will not generate any dependency. Using or importing from a packages that is not registered will generate a dependency on a system the name of which is the package name downcased. All packages that exist at the time ASDF is initially loaded are registered to constant symbol T. Also, for convenience, introduce :use-reexport and :mix-reexport in uiop/package.lisp (of course, no one can rely on it until it's mainstream, but better late than never). To use this style in a way compatible with older versions of ASDF 3, you may use the asdf-package-system extension. See lisp-interface-library for a system that uses this style this way. Push :asdf-package-system to *features*
-
- Oct 16, 2013
-
-
Francois-Rene Rideau authored
Tweak uiop.asd so it specifies encoding correctly.
-
- Oct 09, 2013
-
-
Francois-Rene Rideau authored
-
- Mar 17, 2013
-
-
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.
-
- Feb 18, 2013
-
-
Francois-Rene Rideau authored
-
- Feb 06, 2013
-
-
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 #+.
-
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 #+.
-
- Jan 24, 2013
-
-
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.
-
- Jan 20, 2013
-
-
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
-
- Jan 19, 2013
-
-
Francois-Rene Rideau authored
-
- Jan 18, 2013
-
-
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.
-
- Jan 16, 2013
-
-
Francois-Rene Rideau authored
Move things around and rename functions to improve backward compatibility. The driver now has its own backward-compatibility file.
-
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.
-
- Jan 14, 2013
-
-
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.
-
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.
-
- Jan 11, 2013
-
-
Francois-Rene Rideau authored
This notably includes the former xcvb-driver:run-program/, a much better replacement for run-shell-command. This also includes image initialization, dumping, quitting.
-
- Jan 10, 2013
-
-
Francois-Rene Rideau authored
2.26.67: define-package looks good, BUT we need to somehow avoid unnecessary frobbing, as per *upgraded-p*.
-
- Jan 09, 2013
-
-
Francois-Rene Rideau authored
-
- Jan 08, 2013
-
-
Francois-Rene Rideau authored
TODO: Create a define-package that can make it upgrade itself.
-