Hi Scott, Yep, that is an ifeffit error. It turns out to be specific to math expressions in path() commands, but it is definitely a bug. It seems that a math expression for a path parameter that starts with '(' and ends with ')' and for which these '(' and ')' are not a matched pair will incorrectly raise a syntax error. This doesn't happen for set() or def(). I think this is an historical accident (that is it got fixed a long time ago for set() and def() and never got fixed for path()). It seems easy to fix, though I should probably test it carefully, and I don't know that I'll have Windows dlls soon. It also seems easy to work around. Let me know if it isn't. Anyway, thanks!! --Matt On Mon, 6 Jun 2005, Scott Calvin wrote:
Hi Bruce and Matt,
I've just spent a few hours trying to track down a bug that showed up in one of my complicated Artemis files. I've boiled it down to the point where I can make it happen in one of the example files, although of course in this context it looks a little pointless.
At any rate, take Ifeffit/examples/Artemis/Cu/oneshell.apj, and change the sigma2 for path 1 to:
(1)*sigsqr + signor*(1)
and run a fit.
For me, that generates the ifeffit message:
path(1, sigma2 = (1)*sigsqr + signor*(1)) syntax error: (1)*sigsqr)+signor*((1) parentheses not used properly
and causes a sigma2 of 0 to be used. Artemis doesn't report any error; you have to look in the ifeffit buffer or notice that you're getting a funny value of sigma2 (i.e. 0) assigned to path 1.
Now change the sigma2 to read:
(1)*sigsqr + signor*(1)*1
and everything works fine. Weird, huh?
I'm using Artemis 0.7.015 and ifeffit 1.2.7 on Windows XP.
--Scott Calvin Sarah Lawrence College _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit