Hi, On Mon, Mar 20, 2006 at 04:32:39PM -0500, John W. Eaton wrote: > On 20-Mar-2006, Michael Hanke wrote: > > | Trying around with matlab I wasn't able to use eval to run shell > | command. I patched those functions to use system() instead and > reported > | that to upstream. > > I took a quick look at the code you sent in your first message. It > uses commands like > > foo = sprintf ('! shell command here'); > eval (foo); > > This is not an eval vs. system issue. You are seeing problems because > Octave does not accept "!" to mean execute a shell command. In > Octave, ! (in addition to ~) is used to negate a logical expression. But simply replacing eval() with system() makes it working in Ocatve. > > Also, I saw commands like > > sprintf ('! /bin/rm %s %s\n', file1, file2) > > It might be better to use the delete function to delete files because > that is OS-independent and the /bin/rm shell command is not. I'm not > sure whether you could eliminate all OS dependencies in the code, but > it might be a good idea to at least limit them to the cases where it > really can't be avoided. Unfortunately, I'm not familiar with neither Matlab nor Octave. I simply wanted to provide the opportunity to use the functions provided by upstream in a free software alternative to matlab. If you look at the package, you'll see that this Matlab stuff is just a minor part of it. And the rest of the package is far from being as optimal as it could be. Fixing those matlab stuff properly would cost me a lot of time, learning the list of available function available in both Octave and Matlab. This is a task I cannot handle ATM. But as there is not much matlab code, it could be possible for a matlab/octave expert to make the necessary modifications quickly. I would love if someone could do this and send me the patch. Cheers, Michael -- GPG key: 1024D/3144BE0F Michael Hanke http://apsy.gse.uni-magdeburg.de/hanke ICQ: 48230050
Attachment:
signature.asc
Description: Digital signature