Dear Lisp hackers,
I am pleased to announce the release of ASDF 2.26.
Since previous release 2.25, the changes are as follow:
Portability:
* Lispworks: enable sys:get-folder-path on Personal Edition for Windows.
* ECL: add proper wrapping-source-registry -- very important.
Other:
* Package change: removed the old ASDF-UTILITIES package nickname for ASDF.
Please use the separate ASDF-UTILS system and package for utilities.
* compile-file-pathname* bug fix for :output-file nil. Fixes lp#1067617.
* get-folder-path factored out of various functions,
thanks to Martin Simmons for the suggestion:
at long last a change that REDUCES the amount of code in ASDF!
As usual, developers, please test and enjoy,
vendors, please update your implementation or distribution.
(And yes, it would be nice if Quicklisp updated its ASDF
at least once a year)
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
May you live all the days of your life. — Jonathan Swift
Dear Lisp hackers,
I am pleased to announce the release of ASDF 2.25.
Since previous release 2.24, the changes are as follow:
Portability:
* Lispworks: avoid professional edition functions in personal edition.
* CormanLisp: improve support a little bit.
* Exports: don't export utilities anymore. Please use asdf-utils.
Internals:
* We stopped exporting the utilities from asdf itself.
We recommend you use asdf-utils to access the utilities in asdf.
To avoid conflicts between alexandria, fare-utils, xcvb-driver,
asdf-utils, etc., you can use xcvb-utils that solves the conflicts.
Or you can use fare-utils:define-package-mix that will help you
automatically resolve them.
As usual, developers, please test and enjoy,
vendors, please update your implementation or distribution.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Once a person has killed other people on behalf of an ideology, he becomes
rather devoted to it. — John McCarthy
I am pleased to announce the release of ASDF 2.24.
Since previous release 2.23, the changes are as follow:
Portability:
* ACL: handle SMP vs non-SMP builds in Allegro 9.0
* MKCL: add support for ManKai Common Lisp
* ECL: merge improvements from ECL git. Refactor ECL support somewhat.
* Remove broken-fasl-support: first, cormanlisp is supposed to have fixed it;
second, cormanlisp is dead;
third, one can now (setf *load-system-operation* 'load-source-op) instead.
Internals:
* renaming ends-with to string-suffix-p to avoid conflict with alexandria.
* Refactor load-system to use *load-system-operation*,
and change require-system and module-provide-asdf to use that.
Also note:
* We recommend you use asdf-utils to access the utilities in asdf.
Some time next year, we may stop exporting the utilities from asdf itself.
* To avoid conflicts between alexandria, fare-utils, xcvb-driver,
asdf-utils, etc., you can use xcvb-utils that solves the conflicts.
Or you can use fare-utils:define-package-mix that will help you
automatically resolve them.
These changes are few and subtle, but nonetheless
significant to those who'd use these features.
As usual, developers, please test and enjoy,
vendors, please update your implementation or distribution.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
I walked a mile with Pleasure, / She chattered all the way;
But left me none the wiser, / For all she had to say. //
I walked a mile with Sorrow / And ne'er a word said she;
But, oh, the things I learned from her / When Sorrow walked with me!
— Robert Browning Hamilton
I am pleased to announce the release of ASDF 2.23.
Since previous release 2.22, the changes are as follow:
* add new :compile-check argument to compile-file* and around-compile-hook.
This allows for consistency check of .fasl output before the file can
possibly be seen by other builds (i.e. no race condition).
This change makes the asdf-finalizers extension possible.
* export more utilities for dealing with pathnames from environment.
These changes are few and subtle, but nonetheless
significant to those who'd use these features.
As usual, developers, please test and enjoy,
vendors, please update your implementation or distribution.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Many people believe "in the name of the (nation, poor, god, nature...)"
like "simon says" justifies or damns political opinions when said or omitted.
I am pleased to announce the release of ASDF 2.22.
Since previous release 2.21, the changes are as follow:
* 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.
(hat tip to Nikodemus)
* accept wildcards in directory-files for physical pathnames.
(hat tip to Erik Pearson).
These changes are few and subtle, but nonetheless
significant to those who'd use these features.
As usual, developers, please test and enjoy,
vendors, please update your implementation or distribution.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Most economic fallacies derive... from the tendency to assume that there
is a fixed pie, that one party can gain only at the expense of another.
— Milton Friedman
I am pleased to announce the release of ASDF 2.21.
Since previous release 2.20, the changes are as follow:
* 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.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
You're currently going through a difficult transition period called "Life."
Dear Common Lisp hackers,
I just released ASDF 2.20.
Changes since 2.019:
* Support the new fasl numbering convention of CCL when generating
implementation strings.
* Fix a slew of small bug in corner cases of the configuration API,
as found by Sergey Katrevich and Rupert Warwick.
* Fixed bug in WEAKLY-DEPENDS-ON and added documentation (Robert Goldman).
There hasn't been much work on ASDF since last release in November.
That's the sign that ASDF is getting stable, I hope.
Note that this is 2.20, not 2.020: while previous version was 2.019
(and before that 2.018, etc), I have removed the intermediate 0 from 2.020,
which isn't significant considering how ASDF interprets version numbers.
As usual, please consider including it in your implementation or
software distribution, after suitable testing.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Of all the things I've lost in life, I miss my mind the most...
— Ozzy Ozbourne
Dear CL users,
I released ASDF 2.018.21 as 2.019.
Please test and upon success update your implementations and distributions.
Since 2.018, we have the following improvements:
User-Facing Changes:
* 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)
Change in Internals:
* 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)
Bug Fixes:
* Portability: Debugged CormanLisp support (.1).
Fix type declaration for SCL (.17). Tweaked for Genera (.21).
* 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 debian bug #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:
* 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).
Happy Hacking!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
That life is worth living is the most necessary of assumptions, and were it
not assumed, the most impossible of conclusions. — George Santayana
Dear CL users,
I released ASDF 2.017.27 as 2.018.
Please test and upon success update your implementations and distributions.
Since 2.017, we have the following improvements:
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.
Happy Lisping!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
"When buying and selling are controlled by legislation, the first things
to be bought and sold are legislators." — P.J. O'Rourke
Dear CL users,
I released ASDF 2.016.3 as 2.017.
(This version has been "stable" for over a month.)
Please test and upon success update your implementations and distributions.
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 by default, or otherwise relative.
* 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.
Happy Lisping!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
When my time on earth is completed, I want to go quietly in my sleep,
like my grandfather ... not screaming in terror, like his passengers.