Thanks for your help regarding interrupts. I'd love a bit more help with my build problems. I've uploaded the relevant files to my webserver. See http://redlinernotes.com/docs/echo/
Here is my problem:
I have an asdf definition that seems to conform to the manual. I have a simple lisp program in a single file that depends on the external-program library.
I start ecl, and run (asdf:make-build :test :type :program :monolithic t :epilogue-code '(progn (main) (ext:quit 0))). The program seems to build succesfully.
I try to run "./test-mono" at the command line. It should use the external-program library to call "echo 'hello world'" in bash. Instead I see:
;;; Loading #P"/usr/lib/ecl-9.10.2/asdf.fas"

;;; Loading #P"/usr/lib/ecl-9.10.2/cmp.fas"
;;; Loading #P"/usr/lib/ecl-9.10.2/sysfun.lsp"

Module error: Don't know how to REQUIRE EXTERNAL-PROGRAM.
No restarts available.

Broken at NIL. In: #<process SI:TOP-LEVEL 08118fc0>.

EXTERNAL-PROGRAM>>
I also cannot use Ctrl-D or Ctrl-C to exit. I'm pretty confused at what's going on here though admit that it seems to build correctly. Any ideas?

Regards,
Brit

On Thu, Oct 22, 2009 at 5:08 PM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com> wrote:
On Thu, Oct 22, 2009 at 10:19 PM, Samium Gromoff
<_deepfire@feelingofgreen.ru> wrote:
> It's not very clear, from your examples, what exactly you are doing,
> so I'll just skip to explanation.

I will also add a better source of explanation
http://ecls.sourceforge.net/new-manual/ which includes a section on
what Samium has just introduced:
http://ecls.sourceforge.net/new-manual/ch16.html

Regarding your particular problem, you may be seeing a problem with
how you define your package in your code. Without a minimal example we
can not tell you what is going wrong.

> Off the top of my head I can't come up with a 1-to-1 translation
> to the "handler" semantics of SBCL.

There is currently nothing equivalent that works in a multithreaded
ECL with more than one thread running. If you only have one thread,
then you can do exactly what Samiun said

> (handler-case <form-protected-against-SIGINT>
>  (si::interactive-interrupt ()
>     <action>))

But use the prefix EXT: instead of SI:, as I am planning to finally
split sanctioned extensions in a separate package any time soon.

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com