[Ecls-list] run-program strangeness

Robert Dodier robert.dodier at gmail.com
Thu Aug 7 05:41:28 UTC 2008


Hello,

I'm trying to get plotting to work for Maxima + ECL.

Maxima pipes plotting commands to an external process running Gnuplot.
Maxima wants to launch Gnuplot, then write plotting commands into a
pipe which Gnuplot is reading from. This arrangement works OK for
several Lisp implementations other than ECL.

I've found at least 3 strange things.

(1) There appears to be a :wait keyword argument which tells
run-program to wait for the child process. (I see the wait keyword
in ecl/src/c/unixsys.d.) However if I try to set that keyword in a
call to run-program, e.g.

(ext:run-program "cat" nil :input :stream :output t :error t :wait nil)
 => "Unknown keyword :WAIT"

(2) :wait keyword is undocumented -- description of run-program
doesn't mention it. http://ecls.sourceforge.net/new-manual/re10.html

(3) I can modify unixsys.d so the default value of :wait is nil,
so run-program doesn't wait. However then I get an error message,
"#<broadcast stream 08b1efc8> is not an input stream".
That's strange; isn't run-program supposed to return the input stream?

How is run-program supposed to work when :input :stream is specified?

Thanks for any info

Robert Dodier




More information about the ecl-devel mailing list