On Sep 6, 2010, at 1:08 PM, Oliver King-Smith wrote: > I am extending gnetlist and I dislike scheme. To work around this I > wrote a little program in C++ to do the heavy lifting and I am trying > to call it from my scheme extension to gnetlist. > I wrote the following function in scheme: > (define magic:write_nmos_fet > (lambda (w l m) > (display (string-append "in write_nmos_fet " (number->string w) > "\n") ) > > (execl "/sw/share/gEDA/scheme/subfunction" " --m=" (number->string
There's your problem: (execl) is not like a call. It replaces the current process, so it should never return unless something goes wrong. Like execl() in libc. You probably want (system) or (system*). > m) > " --w=" (number->string w) " --l=" (number->string l) " > --type=nmos" ) > (display "Finished C call\n" ) > )) > This works and calls my C++ program (called subfunction right now). > The C++ program runs without problems and produces the expected > output. My problem is nothing seems to run in my scheme program after > calling subfunction. For example the line: > (display "Finished C call\n" ) > does not run. Nothing else appears to run after this. However there > are no error messages. > Does anyone have any suggestions as to why this might be? > Is there a better way to be calling external programs from gnetlist? > Oliver > > > _______________________________________________ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ j...@noqsi.com _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user