[asdf-devel] Much improved uiop:run-program

Faré fahree at gmail.com
Sat Sep 28 18:42:09 UTC 2013


stassats noticed that
1- run-program would fail in ECL while under SLIME,
  because ECL's system simultaneously insists in redirecting
  the I/O to current Lisp streams, and fails if they are not fd streams.
2- the current run-program is so tight a knot as to be horrible
  and unmaintainable.

At the same time, I was procrastinating big time, and feeling I didn't
want all that UIOP effort to go to waste. Therefore,

3- I fixed run-program, which involved teaching it about input as well
as output, at which point error-output was a breeze.

4- Along the way, I fixed an embarrassing bug in with-temporary-file
when using external-format, fixed bugs in slurp-input, identified a
CCL bug #1114.

5- run-program is now much cleaner, maybe even maintainable by others,
with a somewhat more portable interface to the underlying
functionality, and
a much improved API for the end-user.

6- Unhappily, 400 lines of code were added (but they include improved
documentation).

I only tested on Linux x64, using free software implementations and
Allegro (Express Edition). Other people will need to test on LispWorks
and on Windows, neither of which I can test.

It's all committed on the git repository in the run-program topic branch:
http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=shortlog;h=refs/heads/run-program;js=1

See the commit message for more details on what changed.
It should be mostly compatible for all users (= only inferior-shell
and asdf tests, AFAICT).

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
You have the capacity to learn from mistakes.  You'll learn a lot today.



More information about the asdf-devel mailing list