lp:ubuntu/quantal/cl-asdf

Created by James Westby and last modified
Get this branch:
bzr branch lp:ubuntu/quantal/cl-asdf
Members of Ubuntu branches can upload to this branch. Log in for directions.

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu branches
Status:
Mature

Recent revisions

29. By Francois-Rene Rideau <email address hidden>

* require is now mapped to the recently defined require-system,
 not to load-system anymore.
* more sensible inheritance semantics for default-component-class,
 which can be either a class or a class name.
* accept wildcards in directory-files for physical pathnames. lp#1000842

28. By Francois-Rene Rideau <email address hidden>

* New features:
  * Most importantly, encodings.
    ASDF now lets you specify an :encoding for a system, module or component,
    that is used when loading or compiling Lisp files. See the documentation.
    By default, the only useful value is :utf-8, and
    we recommend you use UTF-8 everywhere.
    We intend to make UTF-8 the default in the future
    (current default is the legacy behavior of using whichever implicit
    default your underlying implementation is currently configured to use).
    An extension asdf-encodings is available that supports more encodings,
    including autodetection of encoding from either emacs-style declaration
    -*- Mode: Lisp ; coding: utf-8 -*- or content.
  * require-system works like load-system, but won't try to load or update
    systems that have already been loaded, as listed by loaded-systems.
    More generally, you can specify a list of systems as :force-not argument
    to load-system and the specified systems won't be loaded or updated.
  * You can specify :force-not and a list of systems when loading a system,
  * You can now specify :hostname in your asdf-output-translations,
    so you can easily share a home directory via the network
    yet split its fasl cache between several subtly different machines.
* Bug Fixes:
  * lp#982285. since 2.014.4, the default source-registry
    was skipping anything from /usr or XDG_DATA_DIRS,
    because of a missing test in getenv-absolute-pathnames. Fixed in .15.
  * In 2.019.9 aka 2.20, ECL support was broken by using
    a function in the wrong package (defined in cl-user). Fixed in .1.
  * logical-pathname support was somewhat broken since 2.017.6,
    due to the way most implementations fail to read physical namestrings
    when *default-pathname-defaults* is a logical-pathname.
    Fixed, together with other logical-pathname issues,
    and a test case was added to the test suite to ensure no further regression.
    Works great modulo quirks around implementation bugs on CLISP and Allegro.
  * Make upgrading ASDF more robust on CMUCL, LispWorks, SBCL.
* Minor tweaks:
  * Use :unspecific in pathname components on more implementations.
  * export and/or document more utilities.
  * add a few missing compatfmt for Genera.

27. By Aron Xu

[ Aron Xu ]
* Team upload for new upstream release.
* Clean up unneeded debian/patches.

[ Francois-Rene Rideau ]
* Portability: support the new CCL fasl numbering API
* Bug fixes: handle various configuration corner cases better
 (thanks to Sergey Katrevich and Rupert Warwick).
* Feature: Robert Goldman fixed and documented WEAKLY-DEPENDS-ON.

26. By Francois-Rene Rideau <email address hidden>

* UI: Create and use a load-systems abstraction,
 in view of using it in a system-granular parallelizing backend. (.15)
* Usability: when a system can't be found, there's now a restart to retry
 finding a system after reinitializing the source-registry (.10).
* Feature: :around-compile now accepts lambda expressions, and also strings,
 so you can specify future wrappers that can't even be read yet. (.11, .12).
* Filesystem: recursing through logical pathnames in LispWorks (.2, .3),
 on SBCL as on CMUCL, have asdf:subdirectories follow symlinks (.8., .9)
* Configuration: modify user-configuration-directories and
 system-configuration-directories to return all valid directory names
 even when they don't exist yet so you may create them (.6), also output
 name of non-existing configuration file when opening them for writing (.7),
* Internals: strcat (.5), split locate-systems from find-systems (.6)
* Portability: Debugged CormanLisp support (.1).
 Fix type declaration for SCL (.17).
* Bug fix: don't drop pathname components without a / at the end
 when reading a path using GETENV (.18). (Bug from 2.017.27)
Closes: #647544.
* Bug fix: don't redefine reinitialize-instance in ways that break
 its contract and its clients (such as asdf-dependency-grovel).
 Use change-class to reset slots (.16), but not to 'standard-object,
 which breaks ecl, rather to a proto-system class (.19), and not
 using keys with breaks genera (.21). (Bug from 2.017.3)
* Bug fix: buglet in maybe-add-tree (.4)
* Upgrade: unintern internals of signature changed in 2.017.12 (.13),
 have *system-definition-search-functions* not be a defparameter,
 but a defvar with a fixup (.14), clear *systems-being-defined* when
 upgrading asdf but re-find them immediately because they may be needed
 as part of a higher operation (.14).
 Unintern some more functions that have changed signature (.20).

25. By Francois-Rene Rideau <email address hidden>

Bugs:
* Solved a bug due to ASDF reusing components even when the ASDF definition
  has changed wildly, leading to bad behavior in incremental compilation
  and sometimes total failure of compilation of a new version.
  (Thanks to Xach for reporting and RPGoldman for fixing.)
* Fix an issue with ASDF doing the wrong thing in case of a clock skew,
  thanks to Andreas Fuchs.
* Simplification of the internals of perform-with-restarts and
 traverse's do-dep, that should fix some corner cases and make it
 easier to extend or further fix. There scarily doesn't remain
 any unedited code from Dan Barlow's original ASDF, though
 much of the interface design is preserved.
* Upgrade code slightly simplified, with a particular fix for CLISP;
 it is now tested on all supported implementations, not just SBCL.
* Improvements to tests and documentation.

Portability:
* Many implementation specific improvements for ECL:
 merge with the ECL upstream version, support for the bytecode compiler.
* Because it is required at least on ABCL, made the Unix vs Windows detection
 a runtime rather than compile-time distinction
 No more asdf-unix or asdf-windows feature, but
 (asdf::os-unix-p) and (asdf::os-windows-p) functions (not exported for now).
 Also recognize darwin as Unix ECL.
* Also small improvements for SCL.

Features:
* Bind *default-pathname-defaults* around load-sysdef,
 to increase chances of successful pathname parsing in defsystem.
* Fixed run-shell-command on allegro/unix and clisp,
 documented the function, noted how it mightn't do what you think on Windows,
 marked it as obsolete, promoted as an official replacement my new
     xcvb-driver:run-program/process-output-stream
* New :around-compile hook so you can control the syntax, optimization,
 and warning level, rename packages and balance compile-time side-effects,
 etc., around the compilation of files in your own modules.
* Now exporting function subpathname, to portably make subpathnames.

24. By Francois-Rene Rideau <email address hidden>

Promoting 2.016.3 as 2.017. Since 2.016, we have the following improvements:
* ABCL: jar translation happier with recent compile-file-pathname* change.
* CCL: see truenamize change below.
* GCL: vain partially reverted attempts at making GCL 2.6 and 2.7 fail less.
* LispWorks: use probe-file for probe-file*
* RMCL: location strings are now POSIX namestrings.
  You can thus share configuration files and environment variables
  between RMCL and other Lisp implementations on same host.
  Use #p"" syntax when you insist on using MacOS 9 style MCL pathnames.
* truenamize: happier when e.g. the *default-pathname-defaults* is #p"",
  which is the case notably on CCL.
* Logical pathnames: now preserved by the source-registry's tree directive.
* Upgrade: instead of unintern'ing symbols, use fmakunbound;
  however, treat compilation of asdf specially, by always making sure
  it is loaded as source before it is compiled,
  so that compilation is never an upgrade and never calls fmakunbound, thus
  ensuring functions in the continuation of compilation are always fbound.
* Obsolete: dropped support for *system-cache* and get-uid.
* Internals: refactored resolve-relative-location-component.
* Documentation: update wrt to the location DSL.

23. By Francois-Rene Rideau <email address hidden>

Promoting 2.015.12 as 2.016. Since 2.015, we have the following improvements:
* Portability: fixes for ECL, RMCL, CLISP.
  Improvements to Windows configuration.
* Fix to load-source-op (broken in 2.014.13).
* Avoid infinite loops in defsystem in cases of bad interference
  between quicklisp and your source-registry.
* Small fixes regarding upgrade, compile-file* :output-file.
* Make defsystem-depends-on much more useful by allowing a system
  thus depended on to define the class of the system depending on it.
* Some documentation updates.
  Notably, for the sake of CLISP, (require "asdf") is the new canonical way
  to load ASDF, instead of (require :asdf). Sigh.
* Better tests, notably wrt hot upgrade.

22. By Francois-Rene Rideau <email address hidden>

Promoting 2.014.17 as 2.015. Since 2.014, we have the following improvements:
* Portability: support cormanlisp, xcl;
  fixes for cmucl, ecl; tweaks for abcl, allegro, clisp, genera, lispworks.
* Feature: un-cerror and actually fix the :force '(sys1 sys2 sys3) feature,
  introduced in 2002 and never working before.
* Feature: classes asdf:cl-source-file.cl and asdf:cl-source-file.lsp
  for people who use these file type extensions.
* Semantic change: the source-registry eagerly gathers a list of .asd,
  rather than querying the filesystem over and over again.
* API change: exposing function asdf:search-for-system-definition as looking
  through asdf:*system-definition-search-functions* for either pathnames *or*
  (new feature) system objects. Should make quicklisp happier.
* Better support for asdf upgrading itself, with new function
  asdf:upgrade-asdf that knows to invalidate old systems when necessary,
  and is magically invoked before to build any system that :depends-on asdf.
  Make upgrade smoother some cases that were previously broken.
* More robust handling of version strings.
* Declaring function asdf:system-definition-pathname obsolete, but still
  supporting it for now, as an alias for asdf:system-source-file.
* Various refactorings of internals. Splitting a function asdf::perform-plan
  out of the default asdf:operate method.
  asdf::register-system now takes only one argument.
* Tests to prevent the regressions experienced during this development cycle
* Tried and reverted: attempts to make asdf more verbose when it's verbose,
  but not verbose by default.

21. By Francois-Rene Rideau <email address hidden>

* yet another debian package attempt
* update to 2.014.3, workaround for ABCL make-pathname bug (same as on XCL).

20. By Francois-Rene Rideau <email address hidden>

* Packaging 2.013.3 because 2.013 had important issues.
* Fix important upgradability issue with 2.013 (unable to upgrade from
versions 2.00[0-8] that have a separate ASDF-UTILITIES)
* Fix minor verbosity issue (forward reference makes sbcl noisy
when loading asdf.lisp directly as does quicklisp.)
* Also, enhance support for SCL.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:ubuntu/raring/cl-asdf
This branch contains Public information 
Everyone can see this information.

Subscribers